2013-10-14 14 views
32

Câu hỏi đơn giản là, làm thế nào để bạn tăng giá trị trường trong truy vấn MS lên 1? Tôi đang cố gắng để thêm 1 (+1) vào một cột int trong cơ sở dữ liệu SQL Server của tôi bằng cách sử dụng một phương pháp parametrized. Tương tự như một hoạt động i + + trên một biến. Tôi đang sử dụng các phương pháp sau đây:Cách thêm dấu cộng (+1) vào cột SQL Server trong Truy vấn 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; 
} 

Phương pháp này được ném các lỗi sau liên quan đến các dấu cộng (+) trong truy vấn sql của tôi:

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

Bất cứ lời khuyên về vấn đề này?

Trả lời

47

Bạn cần cả giá trị và trường để gán. Giá trị là TableField + 1, do đó nhiệm vụ là:

SET TableField = TableField + 1 
48
"UPDATE TableName SET TableField = TableField + 1 WHERE SomeFilterField = @ParameterID" 
Các vấn đề liên quan