Problemas para acceder a una base de datos MySQL a través de ODBC
Pregunta
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);
}
devuelve el servidor No data exists for the row/column.
Mi base de datos está estructurada como esto (screencap de phpMyAdmin) http://1.img.anyhub.net/1243660397_6485910f8b3fc9ee3e2d93831ad554fd.png
Por cierto, dbc
es sólo una clase de conexión a la base de la mina; la función Query()
es la siguiente:
public OdbcDataReader Query(string QueryStr)
{
OdbcCommand q = new OdbcCommand(QueryStr, conn);
OdbcDataReader r = q.ExecuteReader();
return r;
}
Solución
Creo que debería utilizar el método DataReader.Read antes de poder obtener datos de él.
q.Read();
this.Author = q.GetString(6);
Y recomiendo el uso de un bloque mediante contigo dataReader y objetos de comando
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow