مشكلة في الوصول إلى قاعدة بيانات MySQL على ODBC
سؤال
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.
يتم تنظيم جدول قاعدة البيانات الخاصة بي مثل هذا (screencap من phpmyadmin)http://1.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 و كائنات الأمر
لا تنتمي إلى StackOverflow