我是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 |
+----+----------+----------+----------+
在我的应用程序中,我有一个按钮。当用户点击按钮时,我希望与特定用户标识关联的整个日期行更新为当前日期。 “extractedId”实际上是我的程序中存储用户标识的变量。所以我的问题是,在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