menu12 = 3;
Int32 fields = 0;
String row = "";
MySqlDataReader reply;
reply = sqlselect("SELECT user_nick, user_admin_rank, user_last_login, user_hwkey FROM admin_users");
for (int z = 0; z < reply.FieldCount; z++)
{
row += reply.GetValue(z).ToString() + ", ";
MessageBox.Show(row);
fields++;
}
funktion sqlselect:
private MySqlDataReader sqlselect(string sql)
{
String row = "";
MySqlConnection connection = new MySqlConnection(myConnectionString);
MySqlCommand command = connection.CreateCommand();
command.CommandText = sql;
MySqlDataReader Reader;
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
for (int mysql1 = 0; mysql1 < Reader.FieldCount; mysql1++)
row += Reader.GetValue(mysql1).ToString();
}
return Reader;
}
wenn ich das ausführe gibt er mir in der msgbox immer nur die letzte reihe aus (aus der db), wie bekomme ich alle reihen ausgegeben?
na, in sqlselect() läßt du ja den Reader komplett durchlaufen, bevor du ihn zurückgibst. Logisch stehter dann aufm letzten Datensatz.
Edit: Wird die Connection auch mal wieder geschlossen?
Der frühe Apfel fängt den Wurm.
die antwort habe ich wohl gelesen nur hilft es mir nichts da ich trotzdem irgendwie was returnen muss und ich keine ahnung habe wo ich das return setzen muss und vorallem wie ich es schaffe das er alles returned so, dass ich per for schleife alle ergebnisse in eine varriable schreibe ohne das ich meine funktion sqlquerry verschmutze. Desweiteren weiß ich nicht ob das so generell rchtig ist, da ich möchte das zb in einer varriable nur der name von der reihe 1 steht und in varriable 2 username 2 usw
zb.
user_= username von 1-x
useR_admin_rank_ = adminrank von 1-x usw
habe halt noch nie mit db abfragen garbeitet wo ich mehrere ergebnisse bekomme.