相当于If包含使用SQL?

时间:2012-04-28 23:56:52

标签: c# sql

我正在创建一个程序,需要检查我的数据库的第1列中是否存在值,如果没有则添加它,如果是,则将第2列中的值加1。

目前程序只将每个值添加到数据库中,我不知道如何处理下一部分,它应该做类似的事情:

if column 1 contains (textbox)
column 2 = column 2 + 1

else column 1 doesnt contain (textbox)
add to column 1

我只是学习C#,这几乎是我必须做的第一个SQL,所以请保持简单的答案。

这是当前有效的代码的一部分。

System.Data.SqlClient.SqlCommandBuilder cb;
cb = new System.Data.SqlClient.SqlCommandBuilder(da);
DataRow dRow = ds1.Tables["Tags"].NewRow();
dRow[0] = txtSplittext.Text;
dRow[1] = 1;
ds1.Tables["Tags"].Rows.Add(dRow);
MaxRows = MaxRows + 1;
inc = MaxRows - 1;
da.Update(ds1, "Tags");

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

您希望在SQL中使用基本更新语句:

update table
    set column_2 = (case when charindex([textbox], column_1) > 0 then column_2 + 1 else column_2 end),
    set column_1 = (case when charindex([textbox], column_1) = 0 then column_1 + 1 else column_1 end)

(你也可以使用SQL“like”命令,它应该适用于所有方言。我选择了一个可能更高效的Microsoft等效命令。)

在上面的SQL中,[textbox]表示文本框中的值。您可以使用动态SQL或作为参数将其插入到此类查询中。

我也假设你只想为一行做这个。如果是这样,那么这需要一个where子句来标识行(最好用一个主键)。