Problème d'accès à une base de données MySQL via ODBC
Question
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);
}
Le serveur renvoie No data exists for the row/column.
Ma table de base de données est structuré comme celui-ci (screencap de phpMyAdmin) http://1.img.anyhub.net/1243660397_6485910f8b3fc9ee3e2d93831ad554fd.png
Par ailleurs, dbc
est juste une classe de connexion à la base de la mine; la fonction Query()
est la suivante:
public OdbcDataReader Query(string QueryStr)
{
OdbcCommand q = new OdbcCommand(QueryStr, conn);
OdbcDataReader r = q.ExecuteReader();
return r;
}
La solution
Je pense que vous devriez utiliser la méthode DataReader.Read avant de pouvoir obtenir les données.
q.Read();
this.Author = q.GetString(6);
Je recommande d'utiliser un bloc en utilisant avec vous datareader et des objets de commande
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow