Autor Beitrag
Acorwyn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17

Win 7 Ultimate 32/64 bit, Backtrack 4
C#
BeitragVerfasst: Fr 01.04.11 13:33 
Also, Folgenedes Problem.
Ich habe ein Programm erstellt das Tabellen auslesen und bearbeiten kann. Löschen inzwischen auch. Jetz wollte ich es so machen das ich selbst neue Datensätze erstellen kann aber das geht nur bei der ersten Tabelle.

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:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
private void button1_Click(object sender, RoutedEventArgs e)
        {
            using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\hmprak\Documents\prakdb1(backup).accdb; Mode=12"))
            {
                conn.Open();
                using (OleDbCommand cmd = new OleDbCommand(@"INSERT INTO tbladress(fldname01, fldname02, fldname03, 
                            fldstrasse, fldplz, fldnort, fldland, fldtelefon, fldemail) VALUES (@Name01, @Name02, @Name03, 
                            @Straße, @Plz, @Ort, @Land, @Telefon, @Email)"
, conn))
                {
                    cmd.Parameters.AddWithValue("@Name01", textBox2.Text);
                    cmd.Parameters.AddWithValue("@Name02", textBox3.Text);
                    cmd.Parameters.AddWithValue("@Name03", textBox4.Text);
                    cmd.Parameters.AddWithValue("@Strasse", textBox5.Text);
                    cmd.Parameters.AddWithValue("@Plz", textBox6.Text);
                    cmd.Parameters.AddWithValue("@Ort", textBox7.Text);
                    cmd.Parameters.AddWithValue("@Land", textBox8.Text);
                    cmd.Parameters.AddWithValue("@Telefon", textBox9.Text);
                    cmd.Parameters.AddWithValue("@Email", textBox10.Text);
                    cmd.ExecuteNonQuery();
                }
                conn.Close();
            }
        }

        private void button3_Click(object sender, RoutedEventArgs e)
        {
            using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\hmprak\Documents\prakdb1(backup).accdb; Mode=12"))
            {
                conn.Open();
                using (OleDbCommand cmd = new OleDbCommand(@"INSERT INTO tblinvoiceheader(fldnummer, fldadressid, fldname01,
                fldname02, fldname03, fldstrasse, fldplz, fldnort, fldland, fldtelefon, fldemail, fldanschreiben, fldnetto,
                fldmwst, fldbrutto, fldtextintern) VALUES (@Nummer, @AdressID, @Name01, @Name02, @Name03, @Straße, @Plz,
                @Ort, @Land, @Telefon, @Email, @Anschreiben, @Netto, @Mwst, @Brutto, @TextI)"
, conn))
                {
                    cmd.Parameters.AddWithValue("@Nummer", textBox12.Text);
                    cmd.Parameters.AddWithValue("@AdressID", textBox13.Text);
                    cmd.Parameters.AddWithValue("@Name01", textBox14.Text);
                    cmd.Parameters.AddWithValue("@Name02", textBox15.Text);
                    cmd.Parameters.AddWithValue("@Name03", textBox16.Text);
                    cmd.Parameters.AddWithValue("@Straße", textBox17.Text);
                    cmd.Parameters.AddWithValue("@Plz", textBox18.Text);
                    cmd.Parameters.AddWithValue("@Ort", textBox19.Text);
                    cmd.Parameters.AddWithValue("@Land", textBox20.Text);
                    cmd.Parameters.AddWithValue("@Telefon", textBox21.Text);
                    cmd.Parameters.AddWithValue("@Email", textBox22.Text);
                    cmd.Parameters.AddWithValue("@Anschreiben", textBox23.Text);
                    cmd.Parameters.AddWithValue("@Netto", textBox24.Text);
                    cmd.Parameters.AddWithValue("@Mwst", textBox25.Text);
                    cmd.Parameters.AddWithValue("@Brutto", textBox26.Text);
                    cmd.Parameters.AddWithValue("@TextI", textBox27.Text);
                    cmd.ExecuteNonQuery();
                }
                conn.Close();
            }
        }

        private void button4_Click(object sender, RoutedEventArgs e)
        {
            using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\hmprak\Documents\prakdb1(backup).accdb; Mode=12"))
            {
                conn.Open();
                using (OleDbCommand cmd = new OleDbCommand(@"INSERT INTO tblinvoicedetails(fldmasterid, fldpos, fldanzahl, 
                fldtext, fldpreis, fldrabatt, fldgesamt, fldtextintern) VALUES (@MasterID, @Pos, @Anzahl, @Text, @Preis, 
                @Rabatt, @Gesamt, @TextI)"
, conn))
                {
                    cmd.Parameters.AddWithValue("@MasterID", textBox29.Text);
                    cmd.Parameters.AddWithValue("@Pos", textBox30.Text);
                    cmd.Parameters.AddWithValue("@Anzahl", textBox31.Text);
                    cmd.Parameters.AddWithValue("@Text", textBox32.Text);
                    cmd.Parameters.AddWithValue("@Preis", textBox33.Text);
                    cmd.Parameters.AddWithValue("@Rabatt", textBox34.Text);
                    cmd.Parameters.AddWithValue("@Gesamt", textBox35.Text);
                    cmd.Parameters.AddWithValue("@TextI", textBox36.Text);
                    cmd.ExecuteNonQuery();
                }
                conn.Close();
            }
        }

Könnt ihr hier einen Fehler finden ? Wenn ich die Daten in die textBoxen eingebe und den jeweiligen Button drücke kommt bei Button 3 und 4 eine Fehler Meldung und zwar:
System.Data.OleDb.OleDbException wurde nicht behandelt.
Message="Datentypenkonflikt in Kriterienausdruck."
Source="Microsoft Access Database Engine"
ErrorCode=-2147217913

Ich versteh nicht warum es einen Fehler gibt und warum es bei button 1 klappt und den anderen nicht. Könnt ihr mir ein letzes mal helfen ? :)
danke :)

_________________
Mal verliert man, Mal gewinnen die anderen.
Acorwyn Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17

Win 7 Ultimate 32/64 bit, Backtrack 4
C#
BeitragVerfasst: Fr 01.04.11 14:38 
okay hab den fehler gefunden :)
lag daran das ich z.B. für das Feld Preis, buchstaben eingegeben habe ^^

_________________
Mal verliert man, Mal gewinnen die anderen.