任何人都可以确认或质疑我在访问 ACCDB 数据库时遇到的问题DataReader
。我设置DataReader
并查询数据库。当我检查DataReader.HasRows
时,无论记录是否存在,我都会得到真实的。
我已经双重验证了数据表是空的,根本没有记录,但DataReader.HasRows
仍然说它有记录。
如果我继续尝试DataReader.Read
,当我知道没有返回记录时,我会收到一条错误消息“行/列不存在数据”。这是意料之中的。
有没有人见过这个?或者你能说这不会发生吗?
谢谢
sql = @"SELECT a.License, a.ClassID, a.CurrentlyIn, a.TotalScans " +
@"FROM Attendance a " +
@"WHERE a.License = " + myScan.LicenseInt +
@" AND a.ClassID = " + myScan.ClassID + ";";
_parent.StatusOutput(sql);
cmdDB = new OleDbCommand(sql, cnDB);
try
{
//cnDB.Open();
drDB = cmdDB.ExecuteReader();
if (drDB.HasRows)
{
_parent.StatusOutput("Data reader has no rows");
}
else
{
_parent.StatusOutput("Data reader has rows.");
drDB.Read();
_parent.StatusOutput(drDB["License"].ToString() + ", " + drDB["ClassID"].ToString());
}
我们去吧。抱歉,我对如何发布此内容感到困惑。