2

データベースの列 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");

あなたが私に与えることができるどんな助けにも感謝します.

4

1 に答える 1

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 を使用して、またはパラメーターとして、このようなクエリに挿入できます。

また、これを1行だけにしたいと思っています。その場合、行を識別するために where 句が必要です (できれば主キーを使用)。

于 2012-04-29T20:53:44.563 に答える