Проблема с доступом к базе данных MySQL через ODBC - PullRequest
0 голосов
/ 30 мая 2009
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;
}

1 Ответ

1 голос
/ 30 мая 2009

Я думаю, вам следует использовать метод DataReader.Read, прежде чем вы сможете получить данные из него.

q.Read(); 
this.Author = q.GetString(6);

И я рекомендую использовать блок с вашими объектами DataReader и Command

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...