问题描述
简单的问题是,如何将 MS Query 中的字段值加 1?我正在尝试使用参数化方法将 1 (+1) 添加到我的 SQL Server 数据库中的 int 列.类似于对变量的 i++ 操作.我正在使用以下方法:
The simple question is, how do you increment a field value in a MS Query by 1 ? I am trying to add 1 (+1) to an int column in my SQL Server database using a parametrized method. Similar to an i++ operation on a variable. I am using the following method:
public static int UpdateFieldCount(int parameterId) { // variable to hold the number of rows updated or the success of the query int updatesuccess = 0; // build your connection string string connectionstring = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection conn = new SqlConnection(connectionstring); // build your SQL Query statement string SQLString = "UPDATE TableName SET TableField + 1 WHERE SomeFilterField = @ParameterID"; SqlCommand sqlcmd = new SqlCommand(SQLString, conn); sqlcmd.Parameters.AddWithValue("@ParameterID", parameterID); conn.Open(); updatesuccess = sqlcmd.ExecuteNonQuery(); conn.Close(); return updatesuccess; }
此方法在我的 sql 查询中抛出与加号 (+) 相关的以下错误:
This method is throwing the following error related to the plus sign (+) in my sql query:
'+' 附近的语法不正确.
Incorrect syntax near '+'.
描述:在执行当前 Web 请求期间发生了未处理的异常.请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
异常详细信息:System.Data.SqlClient.SqlException:+"附近的语法不正确.
Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near '+'.
源错误:
第 315 行:
第 316 行:conn.Open();
第 317 行:updatesuccess = sqlcmd.ExecuteNonQuery();
第 318 行:conn.Close();
第 319 行:
Line 315:
Line 316: conn.Open();
Line 317: updatesuccess = sqlcmd.ExecuteNonQuery();
Line 318: conn.Close();
Line 319:
源文件:c:\testdevlocation\appname\App_Code\ClassFileName.cs 行:317
Source File: c:\testdevlocation\appname\App_Code\ClassFileName.cs Line: 317
对此有什么建议吗?
推荐答案
您需要一个值和一个字段来分配它.值为TableField + 1,所以赋值为:
You need both a value and a field to assign it to. The value is TableField + 1, so the assignment is:
SET TableField = TableField + 1