使用下拉选择值作为更新查询中的参数,更新不起作用

时间:2015-04-08 16:46:07

标签: c# asp.net webforms

我尝试使用下拉列表中的选定值作为更新查询中的参数来更新所选项目的名称,但更新查询不起作用。下拉列表是有界的,从sql表中提取数据,从文本字段中捕获新名称。这是我的代码:

protected void UpdateName_Click(object sender, EventArgs e)
{
     using (SqlConnection con = new SqlConnection(cs))
     {
          SqlDataAdapter da = new SqlDataAdapter("update z_SignAssets set signAsset =@asset where signAssetID =@id",con);
          int dropdownValue = Convert.ToInt32(SignAssetDropDown.SelectedValue);

          da.SelectCommand.Parameters.AddWithValue("@asset", newNameTextField.Text); 
          da.SelectCommand.Parameters.AddWithValue("@id", dropdownValue);               
          UpdateName.Visible = false;
          newNameTextField.Visible = false;
          checkcost.Visible = true;
          EditName.Visible = true;
     }
 }

1 个答案:

答案 0 :(得分:0)

您在代码中使用SelectCommand而不是UpdateCommand。它也可能只是一个SQLCommand。您不需要在此处使用SqlDataAdapter。您还在哪里执行非查询或执行下面显示的命令与ExecuteNonQuery?

int dropdownValue = Convert.ToInt32(SignAssetDropDown.SelectedValue);

using (SqlConnection con = new SqlConnection(cs))
{        
    SqlCommand updateCommand = new SqlCommand("update z_SignAssets set signAsset =@asset where signAssetID =@id",con);

    updateCommand.Parameters.AddWithValue("@asset", newNameTextField.Text); 
    updateCommand.Parameters.AddWithValue("@id", dropdownValue);               
    updateCommand.ExecuteNonQuery();        
}
UpdateName.Visible = false;
newNameTextField.Visible = false;
checkcost.Visible = true;
EditName.Visible = true;