Servus zusammen. Wie im Titel beschrieben, möchte ich den Inhalt aus diversen Textboxen gerne in eine Access Datenbank übertragen.
private void button2_Click(object sender, EventArgs e)
{
String id = textBox3.Text;
OleDbCommand command = new OleDbCommand("Select *from Auszubildende Where KartenID= " + id + " ");
command.Connection = con;
OleDbDataReader reader = null;
con.Open();
reader = command.ExecuteReader();
while (reader.Read())
{
tbvorname.Text = (reader["Vorname"].ToString());
tbnachname.Text = (reader["Nachname"].ToString());
tbpersnr.Text = (reader["KartenID"].ToString());
tbberuf.Text = (reader["Beruf"].ToString());
tbausbbeginn.Text = (reader["Ausbildungsbeginn"].ToString());
tbablunterw.Text = (reader["Gültigkeit_Unterweisung"].ToString());
textBox1.Text = (reader["UserID"].ToString());
textBox2.Text = (reader["UserIDDec"].ToString());
}
reader.Close();
con.Close();
}
Ich bekomme keine Fehlermeldung beim Klicken und es wird auch nichts übertragen.
Jemand ne Idee?
Beste Grüße
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Habe jetzt einen besseren Ansatz, der bedingt funktioniert.
con.Open();
sql = con.CreateCommand();
sql.CommandText = "insert into Auszubildende (Vorname, Nachname, UserIDDec)" +
"values('Hans','Wurst', 1231231231);";
sql.ExecuteNonQuery();
Wie kann ich anstatt feste values zu verwenden den Inhalt einer Textbox verwenden?
Hallo Daze1302,
Wie kann ich anstatt feste values zu verwenden den Inhalt einer Textbox verwenden?
indem du auf das Text-Property der Textbox zugreifst. Bitte lies mal die Links, die dir gegeben wurden.
[Artikelserie] SQL: Parameter von Befehlen
und dazu
[Artikel] Drei-Schichten-Architektur
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Hallo Daze,
nein - das ist keine bessere Lösung. Schau dir die Links von Abt an - dann kriegst du das auch hin.
Was du für deinen (schlechten!) Ansatz brauchst ist eine simple String-Verkettung, die wir hier voraussetzen. Da wäre dir dann nur ein gutes Buch zu empfehlen.
LG
Na so wie du vorher tbVorname.Text = "blabla" setzt kannst du auch tbVorname.Text in deinem SQL-Query verwenden.
Abts Hinweis zu SQL-Parametern hast du jedoch völlig ignoriert:
SqlParameter prmVorname = new SqlParameter("@Vorname", SqlDbType.NVarChar);
prmVorname.Value = tbVorname.Text;
myCMD.Parameters.Add(prmVorname);
Das gleiche kannst du entsprechend für OleDB anpassen.
2+2=5( (für extrem große Werte von 2)