11

私はDataTable resultSet;-フィールドのnullをチェックしようとしていますが、'{}'(空集合?)オブジェクトを取り戻します。「{}」を含む検索では、適切な解決策が得られません。

これは、「fk_id」フィールドがnullの場合に期待どおりに機能しないコードです。

if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == null)
{
   //never reaches here
}

注:の代わりにintインデックスを使用するColumns.IndexOf()ことは問題ではありません。

また、「{}」はC#で他の名前を持っていますか?

4

3 に答える 3

19

DataSet内のDBNullの列を確認するには、IsNullメソッドを使用できます。

if (resultSet.Rows[0].IsNull("fk_id"))

DataSetは「データベースNULL」値を表すためにnull使用しないため、との比較はおそらく失敗します。DBNull.Valueを使用します。提示したとおりにコードを機能させる必要がある場合は、次のことを試してください。null

if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == DBNull.Value)
于 2009-04-01T23:01:27.580 に答える
-2
try
{
    if (DT.Rows[0][0] != null)
    {      
      //your code
    }    
}    
catch    
{    
    MessageBox.Show("AUTHANICATION FAILED.");    
}
于 2011-05-16T22:45:25.000 に答える
-2

使ってください:

dataTable.Select("FieldName is NULL")

これにより、FieldName 列に null 値を持つ DataRows が得られます。

于 2012-01-26T07:24:34.883 に答える