|
分類:[.NET 全般]
いつもお世話になっております。
現在ExcelのデータをMDBに取り込むルーチンを作成しています。
そこで、質問なのですがEXCELからSELECT文でデータを取得しているのですが
エクセル側の空白の時にどの様な値が入っているか確認したいのですが分かりません。
お手数ですが教えていただけないでしょうか?
//指定したExcelのデータをDataSetに取り込む
string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + ofd.FileName + "; Extended Properties=Excel 8.0;";
string cmd = "SELECT * FROM [ユーザ情報$]";
dsExcel = ReadData(sConnectionString, cmd, "UserInfo", "UserData");
//全てのデータを調査する
for (int i = 0; i <= intTotalRecoard - 1; i++)
{
try
{
//行を代入
dr = ds.Tables[0].Rows[i];
//列を探索する
for (int Col = 0; Col <= Cols - 1; Col++)
{
if ((dr[Col].ToString() != "") || (dr[Col].ToString() != null))
{
//パラメータを登録
listPara.Add(dr[Col].ToString());
}
else
{
listPara.Add(null);
}
}
//SQLコマンドを作る
sqlCmd = makeNewAddCmd(listPara);
}
//DB追加用のコマンドを作成する
private string makeNewAddCmd(List<string> Datas)
{
StringBuilder sb = new StringBuilder();
string para = "'";
//コマンド部
sb.Append("INSERT INTO UserData ( UserID, Pass, RegistDate, Family, Name, Fami_Furi, Name_Furi, Birth, Sex, ZipCode, Area, TEL, Mobile, E_Mail, OptionMsg ) VALUES ('");
//必須パラメータ
sb.Append(Datas[0] + para);
sb.Append(" , " + para + Datas[1] + para);
sb.Append(" , " + para + DateTime.Now.ToString("d") + para);
★ここが分かりません。
例えばコレをやってみましたが中は何も入っていませんでした。
という事はNull?
char[] test = Datas[3].ToCharArray();
//以降は必須ではないのでNullならAppendしない => なぜかAppendの処理に入ってしまう。
//値が入っていなければ、パラメータは作らない。
if ((Datas[3] != "")||(Datas[3] !=null)) { sb.Append(" , " + arryCmd[1] + para + Datas[3] + para); }
以下同じような処理
return sb.ToString();
}
|