2009-05-30 3 views
0
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.Problème d'accès à une base de données MySQL via ODBC

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 de base de données à moi; la fonction Query() est la suivante:

public OdbcDataReader Query(string QueryStr) 
{ 
    OdbcCommand q = new OdbcCommand(QueryStr, conn); 
    OdbcDataReader r = q.ExecuteReader(); 
    return r; 
} 

Répondre

1

Je pense que vous devriez utiliser la méthode DataReader.Read avant de pouvoir obtenir des données de celui-ci.

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

Je recommande d'utiliser un

+0

Jésus ... bloc en utilisant avec vous datareader et des objets de commande Comment diable ai-je réussi à manquer le Read()? J'ai aussi tout cela en blocs, mais je viens de copier/coller les bits pertinents. –

+0

Je me sens assez gêné maintenant. –

Questions connexes