ODBC를 통해 MySQL 데이터베이스에 액세스하는 문제
문제
OdbcDataReader q = dbc.Query("SELECT * FROM `posts` WHERE `id`=" + id.ToString());
if (q.RecordsAffected < 1)
{
this.Exists = false;
}
else
{
this.Exists = true;
this.Author = q.GetString(6);
}
서버가 반환됩니다 No data exists for the row/column.
내 데이터베이스 테이블은 다음과 같이 구성되어 있습니다 (phpmyadmin의 Screencap)http://img.anyhub.net/1243660397_6485910f8b3fc9ee3e2d93831ad554fd.png
그런데, dbc
내 데이터베이스 연결 클래스 일뿐입니다. 그만큼 Query()
기능은 이것입니다 :
public OdbcDataReader Query(string QueryStr)
{
OdbcCommand q = new OdbcCommand(QueryStr, conn);
OdbcDataReader r = q.ExecuteReader();
return r;
}
해결책
데이터를 가져 오기 전에 DataReader.Read 메소드를 사용해야한다고 생각합니다.
q.Read();
this.Author = q.GetString(6);
DataReader 및 Command Objects와 함께 사용 블록을 사용하는 것이 좋습니다.
제휴하지 않습니다 StackOverflow