2016-06-19 9 views
0

Hier ist mein Code zum Hinzufügen von Daten zu meiner Datenbank.Warum fügt dieser C# -Code keine Zeile zu meiner Datenbank hinzu?

try 
{ 
    String id = txtId.Text; 
    String name = txtName.Text; 
    String tel = txtTel.Text; 
    String add = txtAdd.Text; 

    String SqlQuery = @"INSERT INTO [Table] 
         VALUES(@id, @name, @tell, @add)"; 

    using (SqlConnection con = new SqlConnection(conString)) 
    using (SqlCommand cmnd = new SqlCommand(SqlQuery, con)) 
    { 
     con.Open(); 

     cmnd.Parameters.Add("@id", SqlDbType.NVarChar).Value = id; 
     cmnd.Parameters.Add("@name", SqlDbType.NVarChar).Value = name; 
     cmnd.Parameters.Add("@tel", SqlDbType.NVarChar).Value = tel; 
     cmnd.Parameters.Add("@add", SqlDbType.NVarChar).Value = add; 

     cmnd.ExecuteNonQuery(); 

     MessageBox.Show("Saved Sucessfully", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); 
    } 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message, "Error occurred while saving", MessageBoxButtons.OK, MessageBoxIcon.Information); 
} 

Wenn ich diesen Code ausführen, gibt es eine Fehlermeldung

Must @tell

Skalarvariable erklären, warum ich eine Fehlermeldung wie diese zu erhalten tun? Ist mein Code falsch? Können Sie mir bitte helfen, dieses Problem zu lösen?

Dies ist die Fehlermeldung, die ich erhalte:

Error message.

Antwort

2

Sie werden den 3. Parameter ändern müssen.

ändern cmnd.Parameters.Add("@tel", SqlDbType.NVarChar).Value = tel;

Um

cmnd.Parameters.Add("@tell", SqlDbType.NVarChar).Value = tel; 

Der Parametername in Ihrer erklärt SQL

1

Es unterscheidet ein Tippfehler scheint es, sollte es @tell (Mitteilung Doppel l) sein.

Verwandte Themen