Hallo,
ich schon wieder.
Also nachdem mein Problemchen mit meinem Timer gelöst ist, habe ich eine neue Frage.
Wie man aus dem Titel entnehmen kann will ich einige Textboxen und Label zur Laufzeit erstellen.
Ich habe bisher folgendes:
Ich stelle eine Abfrage an eine MySQL Datenbank und frage alle Datensätze ab die vorhanden sind.
Diese Datensätze, es handelt sich um Spenden, werden in Textboxen geladen, damit ich sie dort nötigenfalls bearbeiten kann.
Zurzeit, zu Testzwecken, ist nur ein Datensatz vorhanden also brauche ich auch nur einmal die 11 Textboxen und das eine Label.
Wenn ich jetzt an die Online Datenbank gehe, auf welche ca 15 Datensätze sind habe ich das Problem, dass ich zu wenig boxen habe. Und da die Datensätze variieren (zwischen 10 und 40, zur Zeit, kann mehr werden) ist es sehr schlecht über visible on|off zu arbeiten.
Naja hier mal mein bisheriger Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60:
| private void Window_Loaded(object sender, RoutedEventArgs e) { MySqlConnection dataConnection = new MySqlConnection();
try { dataConnection.ConnectionString = ("Network Address=mein.super.host;" + "Initial Catalog='dietolledb';" + "Persist Security Info=no;" + "User Name='dertolleuser';" + "Password='dastollepw'"); dataConnection.Open();
MySqlCommand dataCommand = new MySqlCommand(); dataCommand.Connection = dataConnection; dataCommand.CommandText = ("SELECT * FROM SpendenVerwaltung");
MySqlDataReader dataReader = dataCommand.ExecuteReader();
while (dataReader.Read()) { string member = dataReader.GetString(1); string montag = dataReader.GetString(2); string dienstag = dataReader.GetString(3); string mittwoch = dataReader.GetString(4); string donnerstag = dataReader.GetString(5); string freitag = dataReader.GetString(6); string samstag = dataReader.GetString(7); string sonntag = dataReader.GetString(8); string wocheGesamt = dataReader.GetString(9); string letzterMonat = dataReader.GetString(10); string Gesamt = dataReader.GetString(11);
this.lblUser.Content = member; this.txtMontag.Text = montag; this.txtDienstag.Text = dienstag; this.txtMittwoch.Text = mittwoch; this.txtDonnerstag.Text = donnerstag; this.txtFreitag.Text = freitag; this.txtSamstag.Text = samstag; this.txtSonntag.Text = sonntag; this.txtWoche.Text = wocheGesamt; this.txtLastMonth.Text = letzterMonat; this.txtGesamt.Text = Gesamt;
} dataReader.Close(); } catch(MySqlException ex) { MessageBox.Show("Fehler beim Zugriff auf die Datenbank", ex.Message); } finally { dataConnection.Close(); } } |
Den "dataReader.GetString(0)" gibt es nicht, da die erste Spalte die einmalige ID ist, die brauch ich nicht abfragen...
So, nun muss ich ja dann in dem "while"-blog die Textbox variabel erstellen. Also wenns 10 Datensätze sind 10 mal die Felder. und bei 20 halt 20 mal die Felder.
Wie bewerkstellige ich das? Mit allen Werten. (Breite, Höhe, Alignments, name)
Wichtig ist vorallem das mit dem Namen. Ich habe da schon an eine Variabel gedacht die automatisch hochgezählt wird.
Ich brauche den Namen, um die Werte "Woche", "Gesamt" und "LetzterMonat" zu berrechnen.
Und da muss ich dann ja auch an die Variablen Namen dran. Ist das alles Möglich??
Ich würde mich über Hilfe freuen...
Shacknet