2013-10-14 20 views
32

La semplice domanda è, come si incrementa un valore di campo in una query di MS di 1? Sto cercando di aggiungere 1 (+1) a una colonna int nel mio database SQL Server utilizzando un metodo parametrizzato. Simile a un'operazione di i ++ su una variabile. Sto usando il seguente metodo:Come aggiungere più uno (+1) a una colonna di SQL Server in una query SQL

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; 
} 

Questo metodo sta gettando il seguente errore relativo al segno più (+) nella mia query SQL:

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

Qualche consiglio su questo?

risposta

47

È necessario sia un valore che un campo a cui assegnarlo. Il valore è TableField + 1, quindi l'assegnazione è:

SET TableField = TableField + 1 
48
"UPDATE TableName SET TableField = TableField + 1 WHERE SomeFilterField = @ParameterID" 
Problemi correlati