2015-06-22 46 views
0

我想使用這個類插入到數據庫時,我能在我的客戶頁面來訪問這個類,但得到錯誤「不正確的語法」錯誤運行SQL查詢

附近有語法錯誤@ZipCode 」。

同時,我的SQL Server數據庫中沒有任何存儲過程或觸發器。

public class CustomerDLL 
{ 
    SqlConnection cn; 
    SqlCommand cmd; 
    SqlDataAdapter da; 
    DataSet ds; 

    public CustomerDLL() 
    { 
     cn = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString); 
    } 

    public void Insert_Customer(string name, string address, string city, string state, int ZipCode) 
    { 
     cmd = new SqlCommand("Insert into Customer values (@name, @address, @city, @state, @ZipCode", cn); 
     cmd.Parameters.AddWithValue("@name", name); 
     cmd.Parameters.AddWithValue("@address", address); 
     cmd.Parameters.AddWithValue("@city", city); 
     cmd.Parameters.AddWithValue("@state", state); 
     cmd.Parameters.AddWithValue("@ZipCode", Convert.ToInt32(ZipCode)); // Line 34 

     cn.Open(); 
     cmd.ExecuteNonQuery(); 
     cn.Close(); 
    } 
} 

我在客戶頁面使用此方法訪問該類

protected void btnAdd_Click(object sender, EventArgs e) 
{ 
     // Create an instance of CustomerDll 
     CustomerDLL cusdll = new CustomerDLL(); 

     //int zip = Convert.ToInt32(txtZip.Text); 
     cusdll.Insert_Customer 
      (
      txtName.Text, 
      txtAddress.Text, 
      txtCity.Text, 
      txtState.Text, 
      Convert.ToInt32(txtZip.Text) 
      ); 

     lblMsg.Text = "Rec is inserted successfully"; 
     cusdll = null; 
    } 

我不斷收到錯誤

附近有語法錯誤@ZipCode「上線34

+0

AddWithValue期待一個字符串,儘量只取出Convert.ToInt – SteveFerg

+0

謝謝,我試過,然後再發布,以及郵編是詮釋我的數據庫 – user2722043

+0

@SteveFerg'AddWIthValue'需要一個字符串和一個對象,所以任何類型將用於第二個參數。 –

回答

5

我想你錯過了@ZipCode後的右括號。

+0

他們已關閉,謝謝Sanjay – user2722043

+2

您上面的代碼缺少它。你在連接'cn'後有右括號,但是值的右括號(在你的代碼中缺少。 –

+0

謝謝Sanjay解決這個問題,GOOD CATCH .. – user2722043