enter image description hereenter image description here Ich versuche, Daten in meine MS Access-Datenbank einzufügen. Der Name meiner Tabelle SignUp.OleDBException wurde von Benutzercode nicht behandelt. Fehlermeldung: OverFlow
cmd.Parameters.Add("@name", OleDbType.VarChar).Value = txtNameSignUp.Text;
cmd.Parameters.Add("@surname", OleDbType.VarChar).Value = txtSurnameSignUp.Text;
cmd.Parameters.Add("@phone", OleDbType.VarChar).Value = txtPhoneSignUp.Text;
cmd.Parameters.Add("@mail", OleDbType.VarChar).Value = txtMailSignUp.Text;
cmd.Parameters.Add("@address", OleDbType.VarChar).Value = txtAddressSignUp.Text;
cmd.Parameters.Add("@username", OleDbType.VarChar).Value = txtUserNameSignUp.Text;
cmd.Parameters.Add("@password", OleDbType.VarChar).Value = txtPasswordSignUp.Text;
cmd.ExecuteNonQuery();
cnn.Close();
cnn = null;
Ich versuchte (OleDBType.Binary).Value = Convert.ToByte(txtPhoneSignUp.Text);
für Textbox des Telefons aber dann sagte sie „zu groß“ oder „zu klein“.
sorgu = „INSERT INTO SignUp ([Name], [Name], [Telefon], [Mail], [Adresse], [Benutzername], [Passwort]) Werte (@ name @ Nachname , @ Telefon, @ Mail, @ Adresse, @ Benutzername, @ Passwort); "; cmd = neuer OleDbCommand (sorgu, cnn);
//cmd.Parameters.AddWithValue("@name", txtNameSignUp.Text); //cmd.Parameters.AddWithValue("@surname", txtSurnameSignUp.Text); //cmd.Parameters.AddWithValue("@phone", Convert.ToDouble(txtPhoneSignUp.Text)); //cmd.Parameters.AddWithValue("@mail", txtMailSignUp.Text); //cmd.Parameters.AddWithValue("@address", txtAddressSignUp.Text); //cmd.Parameters.AddWithValue("@username", txtUserNameSignUp.Text); //cmd.Parameters.AddWithValue("@password", txtPasswordSignUp.Text); cmd.Parameters.Add("@name", OleDbType.VarChar).Value = txtNameSignUp.Text; cmd.Parameters.Add("@surname", OleDbType.VarChar).Value = txtSurnameSignUp.Text; cmd.Parameters.Add("@phone", OleDbType.VarChar).Value = cmd.Parameters.Add("@mail", OleDbType.VarChar).Value = txtMailSignUp.Text; cmd.Parameters.Add("@address", OleDbType.VarChar).Value = txtAddressSignUp.Text; cmd.Parameters.Add("@username", OleDbType.VarChar).Value = txtUserNameSignUp.Text; cmd.Parameters.Add("@password", OleDbType.VarChar).Value = txtPasswordSignUp.Text; cmd.ExecuteNonQuery(); cnn.Close(); cnn = null;
ich raten werde ändern, dass Sie die Telefonnummer definiert als eine numerische in der db? Die Abfrage wäre nett zu sehen. – Plutonix
Ich versuchte numerische und Text, aber beide nicht funktioniert – ibkanpak
Bitte zeigen Sie die Definition Ihrer Tabelle (und im Idealfall, welche DBMS Sie verwenden). Wenn Ihre Telefonspalte numerisch ist, können Sie den Parameter nicht als 'VarChar' hinzufügen. Aber die meisten Telefonnummern sind wahrscheinlich zu groß für eine numerische Spalte, da sie zu viele Ziffern haben. –