Autor Beitrag
borlaenge
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Fr 19.06.09 09:33 
Hallo Forum,

zunächst einmal muss ich darauf hinweisen, dass ich mit OO und C# gerade anfange. Hoffe, ihr könnt mir einen Tipp geben.

Ich habe mal angefangen mit Visual C# Express zu hantieren. Meine erste Form (nur so aus Spaß) hat eine Anbindung an einen MS SQL Server Express. Darin eine einfache Testtabelle mit name, addition, kundennummer als Spalten.

Mein Formular hat die Eingabefelder Kundennummer, Name, Vorname und die Buttons Suchen, Speichern, Exit.

Wenn nun eine Kundennummer eingegeben wird und auf Suchen geklickt wird, dann bekomme ich Daten aus der DB und die werden auch in den jeweiligen Feldern des Formulars angezeigt. Soweit so gut. Nun will ich aber z.B. den Namen ändern und auf Speichern gehen, damit unter der Kundennummer der Name eben geändert wird. Das geht aber nicht. Ich scheine nicht mehr an die Kundennummer im Formular zu kommen. Aber vorher geht es- beim Suchen! Wie gesagt, ist eine kleine Übung zum Lernen.

Habe hier mal etwas Code:

Der Buttoin Suchen -funktioniert
ausblenden volle Höhe C#-Quelltext
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:
private void buttonSuche_Click(object sender, EventArgs e)
        {
            //string kdnr = Convert.ToString(textBoxKDNR.Text);

            SqlConnection con = new SqlConnection();
            con.ConnectionString = "Data Source=.\\sqlexpress;" +
                                   "Initial Catalog=dbase;" +
                                   "User ID=sa;" +
                                   "Password=wernersen";

            string strSQL = "Select name, addition, custno FROM adressen " +
                              "WHERE custno="+ kdnr;

            SqlCommand cmd = new SqlCommand(strSQL, con);
            SqlDataReader reader = null;

            try
            {
                con.Open();
                reader = cmd.ExecuteReader();               

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        textBoxName.Text = reader[0].ToString() + "\r\n";
                        textBoxVorname.Text = reader[1].ToString() + "\r\n";
                    }
                }

                reader.Close();
                cmd.Dispose();
            }
            catch (Exception es)
            {
                Console.WriteLine("Fehlermeldung: {0}", es.Message);
            }

            con.Close();
        }


Der Button Speichern - funktioniert nicht:
ausblenden C#-Quelltext
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:
private void buttonSpeichern_Click(object sender, EventArgs e)
        {
            /*string name = Convert.ToString(textBoxName.Text);
            string vorname = Convert.ToString(textBoxVorname.Text);*/

            //string kdnr = Convert.ToString(textBoxKDNR.Text);
            
            SqlConnection con = new SqlConnection();
            con.ConnectionString = "Data Source=.\\sqlexpress;" +
                                   "Initial Catalog=dbase;" +
                                   "User ID=sa;" +
                                   "Password=wernersen";

            string strSQL = "UPDATE adressen SET name = 'Testname', addition ='Irgendwas'     "+"WHERE custno = " + kdnr;

            SqlCommand cmd = new SqlCommand(strSQL, con);

            try
            {
                con.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception es)
            {
                Console.WriteLine("Fehlermeldung: {0}", es.Message);
            }
            cmd.Dispose();
            con.Close();
        }


Ich bekomme den Wert von Kundennummer aus:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
private string kdnr
        {
            get
            {
                return textBoxKDNR.Text;
            }

            set
            {
                textBoxKDNR.Text = value;
            }
        }


Vielen Dank Euch,

borlaenge