我有一个代码在下面,这段代码更新gridview中的下拉列表。该数据库在MS Access 我收到错误:“参数@RateCenterName没有默认值”。参数没有默认值
RateCenterID是主键
string updateSql = "UPDATE [RateCenters] " + "SET [RateCenterName] = @RateCenterName, [Province]= @Province, [QuantityThreshold] [email protected] " + "WHERE [RateCenterID][email protected]";
string ratecenterID;
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
DropDownList ddl = (DropDownList)row.FindControl("DropDownList2");
TextBox rateCenterName = (TextBox)row.FindControl("TextBox1");
TextBox quantityThreshold = (TextBox)row.FindControl("TextBox2");
OleDbConnection conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["DBConnection"].ToString());
OleDbCommand cmd = null;
try
{
conn.Open();
cmd = new OleDbCommand(updateSql, conn);
cmd.Parameters.Add("@RateCenterName", OleDbType.VarChar).Value = rateCenterName.Text;
cmd.Parameters.Add("@Province", OleDbType.VarChar).Value = ddl.SelectedValue;
cmd.Parameters.Add("@QuantityThreshold", OleDbType.VarChar).Value = quantityThreshold.Text;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
GridView1.EditIndex = -1;
GridView1.DataBind();
}
catch (OleDbException ex)
{
throw (ex);
}
finally
{
cmd.Dispose();
conn.Close();
conn.Dispose();
}
}
请帮我解决这个问题。
问候,
阿琼
+1发布第一个答案:-) – Matthias 2012-02-22 10:16:55
是弗雷德里克但cmd.Parameters.Add(“@ RateCenterID”,OleDbType.VarChar).Value = ??? – 2012-02-22 10:18:56
那么,您应该知道该参数需要传递什么,因为它代表了您尝试匹配的费率中心......我无法告诉您从用户输入中获取该值的位置? – 2012-02-22 10:21:23