我有一个按钮,它将在datagridview中编辑的内容保存在我的UI设计中。以下是一个Button_Save代码:更新查询:错误的语法(编辑)
public void btnUpdate_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
System.Data.SqlClient.SqlConnection sqlConnection1 =
new System.Data.SqlClient.SqlConnection("server=Test; Integrated Security=true; Database=Test;");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
var sql = new StringBuilder();
sql.AppendLine("UPDATE dbo.JobStatus");
sql.AppendLine("Set ShipTrackingNumber = @ShipTrackingNumber");
sql.AppendLine(", ShipMethodTransmitted = @ShipMethodTransmitted");
sql.AppendLine(", DateShipTransmitProcessed = @DateShipTransmitProcessed");
sql.AppendLine(", ShipmentProcessedBy = @ShipmentProcessedBy");
sql.AppendLine(", Critical = @Critical");
sql.AppendLine(", ShipTransmitStatus = @ShipTransmitStatus");
sql.AppendLine("Where jobtableId = @jobTableId");
cmd.Connection = sqlConnection1;
cmd.CommandText = sql.ToString();
cmd.Parameters.AddWithValue("@TrackingNumber", row.Cells[7].FormattedValue);
cmd.Parameters.AddWithValue("@ShipMethodTransmitted", row.Cells[8].FormattedValue);
cmd.Parameters.AddWithValue("@DateShipTransmitProcessed", row.Cells[9].FormattedValue);
cmd.Parameters.AddWithValue("@ShipmentProcessedBy", row.Cells[10].FormattedValue);
cmd.Parameters.AddWithValue("@Critical", row.Cells[11].FormattedValue);
cmd.Parameters.AddWithValue("@ShipTransmitStatus", row.Cells[13].FormattedValue);
cmd.Parameters.AddWithValue("@jobTableId", row.Cells[5].FormattedValue);
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();
什么我得到的错误是:“必须声明标量变量‘@ShipTrackingNumber’ 我不想把ShipTrackingNumber从代码,而不是我想获取。它的用户界面。
我在做什么错在这里?
除此之外,我没有看到一个`.AddWithValue (“@ShipTrackingNumber”,...)(只是一个`.AddWithValue(“@TrackingNumber”)`)?没有。 – 2010-12-08 20:08:45