2016-06-19 1 views
0

다음은 데이터베이스에 데이터를 추가하는 코드입니다. 이 코드를 실행하면이 C# 코드가 내 데이터베이스에 행을 추가하지 못하는 이유는 무엇입니까?

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); 
} 

, 나는이 같은 오류 메시지가 표시되는 이유는 무엇

@tell 스칼라 변수를 선언해야 오류 메시지

이있다? 코드가 잘못 되었나요? 이 문제를 해결할 수 있도록 도와 주시겠습니까?

은 내가 오류 메시지입니다 :

Error message.

답변

2

당신은 3 매개 변수를 변경해야합니다. 매개 변수 이름이 보인다 오타가 당신의 선언 SQL

1

에서 다른

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

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

하기 위해서는 @tell ( l 통지 더블)이어야한다.

관련 문제