如何用数据 reader C# 发现空访问字段

How to spot an empty access field with data reader C#

我正在尝试创建一种方法,该方法 returns 来自我的数据库的满足我的条件的字符串。

第一个条件有效。 但是,第二个条件是access中部分entry为空,至少有一个字段。

这是我的代码:

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 进行比较。那我怎么知道它是否为空?

来自 MSDN:

No conversions are performed; therefore, the data retrieved must already be a 32-bit signed integer. Call IsDBNull to look for null values before calling this method.

所以你会使用:

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