如何添加到Update语句中

本文关键字:Update 语句 添加 何添加 | 更新日期: 2023-09-27 18:18:44

我正在尝试更新我的数据库(表)并使活动列= 1。我有不同国家和参数的重复报告(subject_text)。

subject_text   countries   parameter1  active   
usage          GB         1           0
usage          FR         2           0
usage          PT         1           0
closed       GB,FR,PT     1           0

这是一个例子,我的数据库看起来像(简化,有更多的参数和更多的报告,但我希望你能看到我的意思是重复的报告名称)

这是我的。cs文件,以显示我试图执行的更新。Subject_text是下拉列表形式,因此用户可以选择要更新的报表。这些报告(subject_text)被硬编码到我的ASPX页面中。当选择一个报告,如"关闭",更新工作,但当涉及到更新报告,其中有不同的国家或参数,我有麻烦。

Masterpage master将此页面链接到。getdropdownlistvalue所在的位置

当下拉列表包含不同的元素时,我如何添加更新语句?

protected void RunReport_Click (object sender, System.EventArgs e)
{ 
 MasterPage master = (MasterPage)this.Master;
    string sqlStatement = "";
sqlStatement = @"UPDATE [TODD].[dbo].[Table] SET Active='1' WHERE subject_text = @report";
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(sqlStatement, conn);
cmd = new SqlCommand(sqlStatement, conn);
cmd.Parameters.AddWithValue("@report", ddl_Report.SelectedItem.Text);
string getcountry = master.getDropDownListValue(ddl_country, false);
if (!string.IsNullOrWhiteSpace(getcountry))
{
    cmd.Parameters.AddWithValue("@country", getcountry);
    sqlStatement += "AND countries = @country";
}
string getparam1 = master.getDropDownListValue(Param1, false);
    if (!string.IsNullOrWhiteSpace(getparam1))
    { 
    cmd.Parameters.AddWithValue("@param1", getparam1);
    sqlStatement += "AND parameter1 = @param1";
    }

conn.Open();
cmd.ExecuteNonQuery();
conn.Close();

感谢您的宝贵时间。

如何添加到Update语句中

move

SqlCommand cmd = new SqlCommand(sqlStatement, conn);

到下面的字符串sqlStatement的最终计算

在基于sqlStatement创建SqlCommand之前,应该先向sqlStatement添加新文本

同样,您不需要两次调用new SqlCommand(sqlStatement, conn);

为什么不直接传递身份呢?

UPDATE [TODD].[dbo].[Table] SET Active='1' WHERE RecordID = @RecordId