2011-06-28 226 views
4
private void button1_Click(object sender, EventArgs e) 
{ 
    using (SqlConnection sqlConn = new SqlConnection("Data Source=TANYA-PC;Initial Catalog=biore1;Integrated Security=True")) 
    { 
     string sqlQuery = @"UPDATE cottonpurchase SET @slipNo, @basicprice, @weight, @totalamountbasic, @premium, @totalamountpremium, @totalamountpaid, @yeildestimates WHERE farmercode = @farmercode"; 
     { 
      SqlCommand cmd = new SqlCommand(sqlQuery, sqlConn); 
      cmd.Parameters.Add("@slipNo", SqlDbType.Int).Value = TxtSlipNo.Text; 
      cmd.Parameters.Add("@basicprice", SqlDbType.Int).Value = TxtBasicPrice.Text; 
      cmd.Parameters.Add("@weight", SqlDbType.Int).Value = TxtWeight.Text; 
      cmd.Parameters.Add("@totalamountbasic", SqlDbType.Int).Value = TxtTotalAmountBasic.Text; 
      cmd.Parameters.Add("@premium", SqlDbType.Int).Value = TxtPremium.Text; 
      cmd.Parameters.Add("@totalamountpremium", SqlDbType.Int).Value = TxtTotalAmountPremium.Text; 
      cmd.Parameters.Add("@totalamountpaid", SqlDbType.Int).Value = TxtTotalAmountPaid.Text; 
      cmd.Parameters.Add("@yeildestimates", SqlDbType.Int).Value = TxtYeildEstimates.Text; 

      sqlConn.Open(); 
      try 
      { 
       cmd.ExecuteNonQuery(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
     } 
    } 
} 

即使一切似乎好我的代碼它給我一個錯誤:更新記錄

error : incorrect syntax near ',' 

回答

4

您需要指定試圖設置的列名稱。

string sqlQuery = @" 
    UPDATE cottonpurchase 
    SET 
     slipNo = @slipNo, 
     basicprice= @basicprice, 
     weight = @weight, 
     totalamountbasic = @totalamountbasic, 
     premium = @premium, 
     totalamountpremium = @totalamountpremium, 
     totalamountpaid = @totalamountpaid, 
     yeildestimates = @yeildestimates 
    WHERE farmercode = @farmercode"; 

而且,你沒有提供@farmercode參數:

cmd.Parameters.AddWithValue("@farmercode", <someValue>); 
+0

現在它給了我,我必須聲明一個變量farmercode的錯誤,但我不能這樣做,因爲謂它要改變 – tanya

+1

@tanya - 這是因爲你沒有添加@farmercode參數。 –

+0

啊謝謝你:) – tanya