【问题标题】:Incorrect syntax near '('.?'('.? 附近的语法不正确
【发布时间】:2014-02-16 00:31:18
【问题描述】:

我有ShowGrid()RowEditingRowCancelingEdit,但它们是正确的。

在执行网站时,我遇到了这个我无法弄清楚的一般错误:

'(' 附近的语法不正确。

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:'(' 附近的语法不正确。

Protected Sub GridView1_OnRowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) Handles GridView1.RowUpdating
    Dim connStr, cmdStr As String
    connStr = "XXXXX"
    cmdStr = "UPDATE OrbitDates SET (JD=@JD,Xecl1=@Xecl1,Yecl1=@Yecl1,Zecl1=@Zecl1) WHERE ido=@ido;"
    Try
        Using conn As New SqlConnection(connStr)
            Using cmd As New SqlCommand(cmdStr, conn)
                conn.Open()
                cmd.Parameters.AddWithValue("@ido", GridView1.Rows(e.RowIndex).Cells(0).Text)
                cmd.Parameters.AddWithValue("@JD", GridView1.Rows(e.RowIndex).Cells(1).Text)
                cmd.Parameters.AddWithValue("@Xecl1", GridView1.Rows(e.RowIndex).Cells(2).Text)
                cmd.Parameters.AddWithValue("@Yecl1", GridView1.Rows(e.RowIndex).Cells(3).Text)
                cmd.Parameters.AddWithValue("@Zecl1", GridView1.Rows(e.RowIndex).Cells(4).Text)

                cmd.ExecuteNonQuery()
                conn.Close()
                cmd.Dispose()
                conn.Dispose()
            End Using
        End Using
    Catch ex As Exception
        Throw ex
    End Try
    ViewState("edit") = e.RowIndex
    ShowGrid()
End Sub

【问题讨论】:

    标签: asp.net sql-server vb.net gridview sql-update


    【解决方案1】:

    不要在 UPDATE 语句中使用括号:

    cmdStr = "UPDATE OrbitDates SET JD=@JD,Xecl1=@Xecl1,Yecl1=@Yecl1,Zecl1=@Zecl1 WHERE ido=@ido;"
    

    【讨论】:

    • 很好,摆脱了“'('.附近的语法错误。”错误。谢谢。
    猜你喜欢
    • 2015-12-12
    • 2013-12-16
    • 1970-01-01
    • 2018-08-14
    • 2011-03-11
    • 2017-01-11
    • 2020-02-06
    • 1970-01-01
    相关资源
    最近更新 更多