1

ExcelシートをSQLサーバーデータベースにインポートしています。FlightNumberという名前の列がAI-2000、AI-2564などの形式になっています。データベースにFlightNumber列がありますが、FlightIdという別の列もあります。これはExcelから派生した値を持つ必要があります。フライト番号(最初の3文字を削除することにより)例:ExcelにFlightNumber:AI-2032がある場合、dbのFlightId値は2032である必要があります。これを行うにはどうすればよいですか?私は初心者なので、コードと一緒に説明する必要があるかもしれません。

これは私がExcelを読んでいる方法です:

DataTable dt7 = new DataTable();
dt7.Load(dr);
DataRow[] ExcelRows = new DataRow[dt7.Rows.Count];
DataColumn[] ExcelColumn = new DataColumn[dt7.Columns.Count];

DataRow[] ExcelRows = new DataRow[dt7.Rows.Count];
//=================================================
for (int i1 = 0; i1 < dt7.Rows.Count; i1++)
 {
   if (dt7.Rows[i1]["PP NO"] == null)
      dt7.Rows[i1]["PP NO"] = 0;
 }

また、私はSqlBulkCopyを使用して、列マッピングとともにインポートしています

4

1 に答える 1

0

これを試して

DataTable dtone = new DataTable();
dtone.Columns.Add("idNumber");
dtone.Columns.Add("idOnly", typeof(string), " substring(idNumber, 4, 100)");

dtone.Rows.Add("AI-2000");
dtone.Rows.Add("AE-2001");
dtone.Rows.Add("AF-2002");
dtone.Rows.Add("AH-2003");

ここで3番目のパラメーターはDataColumn.Expression、既存の列の値に従ってデフォルト値を指定するものです。この訪問について詳しくは、こちらをご覧ください。

于 2012-11-12T06:56:10.810 に答える