Laden...

Daten aus TextBox in Access Datenbank speichern

Erstellt von Daze1302 vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.873 Views
D
Daze1302 Themenstarter:in
15 Beiträge seit 2017
vor 6 Jahren
Daten aus TextBox in Access Datenbank speichern

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

D
Daze1302 Themenstarter:in
15 Beiträge seit 2017
vor 6 Jahren

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?

2.207 Beiträge seit 2011
vor 6 Jahren

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

1.029 Beiträge seit 2010
vor 6 Jahren

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

286 Beiträge seit 2011
vor 6 Jahren

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)

D
Daze1302 Themenstarter:in
15 Beiträge seit 2017
vor 6 Jahren

Hat geklappt. Danke allen für die Hilfe!