2009-05-30 6 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); 
} 

Der Server No data exists for the row/column.Problem einer MySQL-Datenbank über ODBC-Zugriff auf

Meine Datenbank-Tabelle wie diese (screencap von phpMyAdmin) strukturiert ist, kehrt http://1.img.anyhub.net/1243660397_6485910f8b3fc9ee3e2d93831ad554fd.png

By the way, ist dbc nur eine Datenbankverbindung Klasse von mir; die Query() Funktion ist dies:

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

Antwort

1

Ich glaube, Sie DataReader.Read Methode verwenden sollten, bevor Sie Daten von ihm zu bekommen.

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

Und ich empfehlen die Verwendung eines mit Block mit Ihnen DataReader- und Befehlsobjekte

+0

Jesus ... Wie zum Teufel habe ich es schaffe das Lesen verpassen()? Ich habe auch das alles in Blöcken, aber ich habe nur die relevanten Bits kopiert/eingefügt. –

+0

Ich fühle mich jetzt ziemlich peinlich. –

Verwandte Themen