누구든지 확인하거나 문제를 해결할 수 있습니까 DataReader
으로 ACCDB 데이터베이스에 액세스하고 있습니다. DataReader
을 설정하고 데이터베이스를 쿼리합니다. DataReader.HasRows
을 확인하면 기록이 있는지 여부와 상관없이 사실이됩니다.Datareader.HasRow가 잘못되었습니다
데이터 테이블이 비어 있고 전혀 레코드가 없다는 것을 이중으로 확인했지만 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());
}
이 우리는 간다. 내 혼란을 게시하는 방법에 대한 죄송합니다. 샘플 코드에서
이 동작을 보여주는 코드 조각을 포함 할 수 있습니까? – EkoostikMartin
.Net 버전 및 프로필도 포함하십시오. – Amy
행이 없어도 HasRows가 true로 설정된 쿼리를 생성 할 수 있습니다. 쿼리에 따라 달라집니다. 그것은 당신의 코드에서 다른 것일 수 있습니다. @EkoostikMartin이 말했듯이, 이것을 생성하는 코드 스 니펫을 게시하십시오. – Pete