MySQL Select Thread Problem

08/11/2007 - 19:12 von G. Helbig | Report spam
Ich benutze mysql-connector-net-5.0.8.1 und öffne eine Verbindung zur DB
Mein Problem ist, das ich in verschiedenen Threads / Timern kontinuierlich
SELECT Statements benutze, was auch meistens klappt. Bsp:

MySqlCommand cmd = con.CreateCommand();
cmd.CommandText = "SELECT * FROM table WHERE test=?test";
cmd.Prepare();
cmd.Parameters.AddWithValue("?test", test);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
field1 = reader.GetDouble("field1");
field2 = reader.GetDouble("field2");
}
reader.Close();

Nun kann es passieren, das bei reader.GetDouble("field1") eine Exception
geworfen wird ("Could not find specified column in results") weil "field1"
nicht bekannt ist. Der reader enthàlt die Daten einer anderen SQL Abfrage,
weil ein anderer Thread eine andere Tabelle ausliest.
Jetzt suche ich eine elegante Lösung für das Problem.

G. Helbig
freundliche Grüße
G. Helbig
 

Lesen sie die antworten

#1 Stefan Braumeister
08/11/2007 - 21:04 | Warnen spam
G. Helbig schrieb:
Ich benutze mysql-connector-net-5.0.8.1 und öffne eine Verbindung zur DB
Mein Problem ist, das ich in verschiedenen Threads / Timern
kontinuierlich SELECT Statements benutze, was auch meistens klappt. Bsp:

MySqlCommand cmd = con.CreateCommand();
cmd.CommandText = "SELECT * FROM table WHERE test=?test";
cmd.Prepare();
cmd.Parameters.AddWithValue("?test", test);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
field1 = reader.GetDouble("field1");
field2 = reader.GetDouble("field2");
}
reader.Close();

Nun kann es passieren, das bei reader.GetDouble("field1") eine Exception
geworfen wird ("Could not find specified column in results") weil
"field1" nicht bekannt ist. Der reader enthàlt die Daten einer anderen
SQL Abfrage, weil ein anderer Thread eine andere Tabelle ausliest.
Jetzt suche ich eine elegante Lösung für das Problem.



Das ist doch ganz einfach, jeder Thread benötigt sein reader Object.
Du nutzt offensichtlich aus jedem Thread heraus reader. Das ist kein
MYSQL Problem.

Gruß Stefan


G. Helbig
freundliche Grüße
G. Helbig

Ähnliche fragen