2015-11-05 39 views
0

看起來是一個簡單的語法錯誤,但需要幫助。附近的語法不正確(SQL Update命令)

protected void editback_Click(object sender, EventArgs e) 
{ 
    String EditStoryID = DropDownList3.SelectedItem.Value; 
    String EditProjectID = DropDownList1.SelectedItem.Value; 
    String EditRequirement = TextBoxBacklog.Text; 
    String EditLock = "0"; 

    String connectionString = WebConfigurationManager.ConnectionStrings["ScrumString"].ConnectionString; 
    SqlConnection myConnection = new SqlConnection(connectionString); 


    myConnection.Open(); 
    String query = "UPDATE product_backlog SET ([email protected]_id,[email protected]_story,[email protected]_locked) WHERE project_backlog.id = (@id)"; 

    SqlCommand commandEdit = new SqlCommand(query, myConnection); 
    commandEdit.Parameters.AddWithValue("@project_id", EditProjectID); 
    commandEdit.Parameters.AddWithValue("@id", EditStoryID); 
    commandEdit.Parameters.AddWithValue("@user_story", EditRequirement); 
    commandEdit.Parameters.AddWithValue("@is_locked", EditLock); 

    commandEdit.ExecuteNonQuery(); 

    Page.Response.Redirect(Page.Request.Url.ToString(), true); 

    Labelsuccess.Text = "User story has been updated"; 
    TextBoxBacklog.Text = ""; 
} 
+0

附近什麼....?您的查詢中的 –

+1

嘗試刪除(和)集合中以及@id – shurik

回答

1

set條款不應該用括號包圍:

UPDATE product_backlog 
    SET project_id = @project_id, 
     user_story = @user_story, 
     is_locked = @is_locked 
    WHERE project_backlog.id = (@id); 
0

您必須在SET語句後刪除括號。 他們的WHERE語句後除外但SET必須是沒有的,即使你有超過1場要更新

UPDATE your_table SET [email protected] WHERE id = (@id)