我正在尝试创建一个方法,从我的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的比较不起作用。那我怎么知道它是否是空的?
答案 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>
}