2013-10-14 19 views
32

単純な質問は、MSクエリのフィールド値を1ずつ増やす方法です。パラメータ化されたメソッドを使用してSQL Serverデータベースのint列に1(+1)を追加しようとしています。変数のi ++操作と同様です。SQLクエリのSQL Server列に+1(+1)を追加する方法

Incorrect syntax near '+'.

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.

Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near '+'.

Source Error:

Line 315:
Line 316: conn.Open();
Line 317: updatesuccess = sqlcmd.ExecuteNonQuery();
Line 318: conn.Close();
Line 319:

Source File: c:\testdevlocation\appname\App_Code\ClassFileName.cs Line: 317

この上の任意のアドバイス:

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クエリでプラス記号(+)に関連し、次のエラーを投げている:私は、次のメソッドを使用していますか?

答えて

47

値を割り当てるには値とフィールドの両方が必要です。値はTableField + 1であるため、割り当ては次のとおりです。

SET TableField = TableField + 1 
48
"UPDATE TableName SET TableField = TableField + 1 WHERE SomeFilterField = @ParameterID" 
関連する問題