0

次のコードを使用して、一度に1行ずつDataTableを構築しようとしています。

foreach (var e in Project.ProjectElements[hi.FakeName].Root.Elements()) {
        index = 0;
            object[] obj=new object[count];
            foreach (var holdingColumn in names) {
                string d = e.Attribute(holdingColumn.Key).Value;
                obj[index++] = d;
            }
            dt.Rows.Add(obj);
        }

問題は、DataTableのタイプが列に関連付けられていることです。そのオブジェクトインデックスにnull(または空の文字列)を渡すと、DateTime(この場合)に正しく変換できないと言われることがあります。私の質問は、この値をデフォルトで何に設定する必要があるか、またはDataTableに空の値を無視させる方法があるかどうかです。

4

1 に答える 1

3

AllowDBNullのプロパティDataColumnをtrueに設定してから、次のように記述します。

if (String.IsNullOrEmpty(d))
    obj[index++] = DBNull.Value;
else
    obj[index++] = d;
于 2010-04-26T03:16:22.933 に答える