私はC#の初心者ですが、sqlコマンドには新しく追加されました。私はデータベースマネージャに直接SQLコマンドを書く方法を知っていますが、C#SqlCommandオブジェクトとして動作させる方法を理解できませんでした。テーブルのレコードの例を次に示します。C#で特定のSQLコマンドを書くにはどうしたらいいですか?
+----+----------+----------+----------+
| ID | UserId | SiteName | Date |
+----+----------+----------+----------+
| 1 | 7698479 | Site1 | NULL |
| 2 | 7698479 | Site2 | NULL |
| 3 | 7698479 | Site3 | NULL |
| 4 | 7698479 | Site4 | NULL |
+----+----------+----------+----------+
私のアプリケーションにはボタンがあります。ユーザーがボタンをクリックすると、特定のユーザーIDに関連付けられた日付行全体を現在の日付に更新する必要があります。 "extractedId"は実際にユーザーIDを格納するプログラム内の変数です。だから私の質問は、C#のこのSQLコマンドの正しい構文は何か、特に "extractedId"が変数であると考えているのでしょうか?ここに私が試みたコードのバリエーションがあります。ここで
SqlCommand myCommand = new SqlCommand("UPDATE myTable SET Date = getdate() WHERE UserId = extractedId", myConnection);
[SqlCommand.ExecuteScalar](https://msdn.microsoft.com/enを参照してください。 -us/library/system.data.sqlclient.sqlcommand.executescalar(v = vs.110).aspx)を実行します。 – Igor
代わりに[SqlCommand.ExecuteNonQuery](https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery(v = vs.110).aspx)を使用しないでください。 ? ExecuteScalarは、行を挿入するときにSELECTまたはIDを使用して値を返すためのものです。 ExecuteNonQueryを使用すると、SqlCommandを実行するだけで済みます。 – Dresden