Lesung mit MySqlDataReader
Hallo ich habe da problem zu Lesen, mit MySqlDataReader
. Ich habe versucht, zu ändern while()
zu if()
und es funktionierte dann. Also mache ich etwas falsch mit while (Reader.Read())
. Vielen Dank für die Antwort. ( Die andere Frage ist heute fest, dass jemand kommentiert hat mir geholfen xd )
using (MySqlCommand cmd = new MySqlCommand
("SELECT * FROM `citationer`", mysqlCon))
{
try
{
MySqlDataReader Reader = cmd.ExecuteReader();
while (Reader.Read()) //this part is wrong somehow
{
citationstexter.Add(Reader.GetString(loopReading)); //this works
loopReading++; //this works
}
Reader.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
- Können Sie uns die Ausnahme details bitte. Es scheint gut zu mir.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihr problem ist die Verwendung der
loopReading
parameterGetString
.Sollte dieser parameter den null-basierten Spalte Ordnungszahl (Nummer der Spalte), aber du bist Inkrementieren Sie für jede Zeile, die Sie Lesen.
Siehe hier für mehr info:
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getstring.aspx
Sollten Sie die 0 für die erste Spalte der citationer Tabelle 1 für die zweite Spalte, etc.
Außerdem ist es gute Praxis zu verwenden
nur, wie Sie es für die mySqlCommand-Objekt zu speichern, ein Speicherleck (das ist aber nicht dein problem.)