如何使用数据读取器C#发现空访问字段

时间:2016-05-04 19:15:07

标签: c# database datareader access

我正在尝试创建一个方法,从我的db中返回符合我条件的字符串。

第一个条件是有效的。 但是,第二个条件是访问中的部分条目是空的,至少有一个字段。

这是我的代码:

OleDbCommand datacommand = new OleDbCommand();
datacommand.Connection = dataConnection;
datacommand.CommandText = "SELECT   numNumber, numLocation " +
                          "FROM     tblNumbers  " +
                          "ORDER BY numID ";
OleDbDataReader dataReader = datacommand.ExecuteReader();
while (dataReader.Read())
{
    if (MatchServiceLetters(dataReader.GetString(0))) // && dataReader.GetInt32(1) == null?/)
}
return dataReader.GetString(0);

如果int字段为空,则与null的比较不起作用。那我怎么知道它是否是空的?

1 个答案:

答案 0 :(得分:0)

来自MSDN:

  

不进行转换;因此,检索的数据必须已经是32位有符号整数。   在调用此方法之前调用IsDBNull查找空值。

所以你会使用:

if(!dataReader.IsDBNull(1))
{
    return dataReader.GetInt32(1);
}
else
{
    return 0; // or better yet, make your method return Nullable<int>
}