语法附近不正确.... [英] Incorrect Syntax Near ....

查看:64
本文介绍了语法附近不正确....的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题:



可以任何shifu和专业人士帮我看看,我应该纠正什么?



错误信息:



........ '('.....................

*错误附近的语法错误在下面的代码部分加下划线。







 公众  Sub  updateai()
Dim nsr = DataGridView1.SelectedRows.Count - 1
Dim updateline As 整数 = DataGridView1.SelectedRows(nsr).Cells( 0 )。值
Dim updateme 作为 字符串 = UPDATE ICDTBL SET(CreateBy,StartDate,CloseDate,StartTime,CloseTime,Supplier,A ctualETA,OrderNum,Remark,Status)VALUES(@ CreateBy,@ StartDate,@ CloseDate,@ StartTime,@ CloseTime,@ Appelier,@ ActualETA,@ OrderNum,@ Remark,@ Status)WHERE IDNO =&更新线和
Dim cmd 作为 SqlCommand(updateme,connection)

如果 RichTextBox1.Text = TextBox6.Text = TextBox8.Text = TextBox9.Text = 然后
MsgBox( 空白内容将不会被发送出去
否则
尝试
如果 connection.State = ConnectionState.Closed 那么
connection.Open()
结束 如果
cmd.Parameters。 AddWithValue( @ CreateBy,Label10.Text.Trim)
If DateTimePicker1.Value< 日期。今天 DateTimePicker2.Value< 日期。今天 DateTimePicker1.Value> DateTimePicker2.Value 然后
MsgBox( 开始日期和结束日期不能小于今天的日期和开始日期不能超过关闭日期
ElseIf DateTimePicker3.Value< myTime DateTimePicker4.Value< myTime DateTimePicker2.Value> DateTimePicker3.Value 然后
MsgBox( 开始时间和关闭时间不能小于当前时间和开始时间不能超过关闭时间
否则
cmd.Parameters。 AddWithValue( @ StartDate,DateTimePicker1.Value.ToShortDateString)
cmd.Parameters.AddWithValue ( @ CloseDate,DateTimePicker2.Value.ToShortDateString)
cmd.Parameters.AddWithValue( @ StartTime,DateTimePicker3.Value.ToShortTimeString)
cmd.Parameters.AddWithValue(< span class =code-string> @ CloseTime,DateTimePicker4.Value.ToShortT imeString)
结束 如果
cmd.Parameters.AddWithValue( @ Supplier,TextBox6.Text.Trim)
cmd.Parameters.AddWithValue( @ ActualETA,RichTextBox1.Text.Trim)
cmd.Parameters.AddWithValue( @ OrderNum,TextBox8.Text.Trim)
cmd.Parameters.AddWithValue( @ Remark,TextBox9.Text.Trim)
If Label12.Text = 然后
MsgBox( 请指定任务状态)
Else
cmd.Parameters.AddWithValue( @ Status,Label12.Text.Trim)
结束 如果
cmd.ExecuteNonQuery()
MsgBox( 信息已更新
connection.Close()
RichTextBox1.Text =
TextBox6.Text =
TextBox8 .Text =
TextBox9.Text =
Label12.Text =
loadalll()
Catch ex As SqlException
MsgBox(ex.Message)
结束 尝试

结束 如果
结束 Sub

解决方案

您的更新声明中确实存在语法错误。



您需要使用表格



  update   TABLE   set  FIELD1 = VALUE1,FIELD2 = VALUE2 
其中 WHERECLAUSE


你应该使用

 cmd.Parameters.AddWithValue(@ S tatus,Label12.Text.Trim ()









 cmd.Parameters.AddWithValue(@ StartDate,DateTimePicker1.Value.ToShortDateString ()


感谢:



Uma Shankar Patel

Damian S $ / $


解决方案:



>更正我的sql更新声明

>放一个for循环来强制datagridview索引不要为负数或超过......







 公开  Sub  updateai()
Dim nsr = DataGridView1.SelectedRows.Count
对于 i = 0 (nsr - 1
Dim updateline As Integer = DataGridView1.SelectedRows(i).Cells( 0 )。值
Dim updateme 作为 String = UPDATE ICDTBL SET CreateBy = @ CreateBy,StartDate = @ StartDate,CloseDate = @ CloseDate,StartTime = @ StartTime,CloseTime = @ CloseTime,Supplier = @ Supplier,ActualETA = @ ActualETA,OrderNum = @ OrderNum,Remark = @Remark,Status = @ Status WHERE IDNO =&更新线和
Dim cmd 作为 SqlCommand(updateme,connection)

如果 RichTextBox1.Text = TextBox6.Text = TextBox8.Text = TextBox9.Text = 然后
MsgBox( 空白内容将不会被发送出去
其他
尝试
如果 connection.State = ConnectionState.Closed 然后
connection.Open()
结束 如果
cmd.Parameters.AddWithValue( @ CreateBy,Label10.Text.Trim())
如果 DateTimePicker1.Value< 日期。今天 DateTimePicker2.Value< 日期。今天 DateTimePicker1.Value> DateTimePicker2.Value 然后
MsgBox( 开始日期和结束日期不能小于今天的日期和开始日期不能超过关闭日期
ElseIf DateTimePicker3.Value< myTime DateTimePicker4.Value< myTime DateTimePicker2.Value> DateTimePicker3.Value 然后
MsgBox( 开始时间和关闭时间不能小于当前时间和开始时间不能超过关闭时间
否则
cmd.Parameters。 AddWithValue( @ StartDate,DateTimePicker1.Value.ToShortDateString())
cmd.Parameters .AddWithValue( @ CloseDate,DateTimePicker2.Value.ToShortDateString())
cmd。 Parameters.AddWithValue( @ StartTime,DateTimePicker3.Value.ToShortTimeString())
cmd .Parameters.AddWithValue( @ CloseTime,DateTimePicker4.Value.ToShortTimeString())
结束 如果
cmd .Parameters.AddWithValue( @ Supplier,TextBox6.Text.Trim())
cmd.Parameters.AddWithValue( @ ActualETA,RichTextBox1.Text.Trim())
cmd.Parameters.AddWithValue( @ OrderNum,TextBox8.Text.Trim())
cmd.Parameters.AddWithValue( @ Remark,TextBox9.Text.Trim())
如果 Label12.Text = 然后
MsgBox( 请指定任务状态
否则
cmd.Parameters.AddWithValue( @ Status,Label12.Text.Trim( ))
结束 如果
cmd.ExecuteNonQuery()
MsgBox ( 信息已更新
connection.Close()
RichTextBox1.Text =
TextBox6.Text =
TextBox8.Text =
TextBox9.Text =
Label12.Text =
loadalll()
Catch ex As SqlException
MsgBox(ex.Message)
结束 尝试
结束 如果
下一步


Question:

can any shifu and pros help me to take a look, what i should correct??

Error message:

........Incorrect Syntax near '('.....................
*error occurred on line which underlined in code section below.



Public Sub updateai()
       Dim nsr = DataGridView1.SelectedRows.Count - 1
       Dim updateline As Integer = DataGridView1.SelectedRows(nsr).Cells(0).Value
                       Dim updateme As String = "UPDATE ICDTBL SET (CreateBy, StartDate, CloseDate, StartTime, CloseTime, Supplier, ActualETA, OrderNum, Remark, Status) VALUES (@CreateBy, @StartDate, @CloseDate, @StartTime, @CloseTime, @Supplier, @ActualETA, @OrderNum, @Remark, @Status) WHERE IDNO = " & updateline & ""
       Dim cmd As New SqlCommand(updateme, connection)

       If RichTextBox1.Text = "" And TextBox6.Text = "" And TextBox8.Text = "" And TextBox9.Text = "" Then
           MsgBox("blank content will not be send out")
       Else
           Try
               If connection.State = ConnectionState.Closed Then
                   connection.Open()
               End If
               cmd.Parameters.AddWithValue("@CreateBy", Label10.Text.Trim)
               If DateTimePicker1.Value < Date.Today And DateTimePicker2.Value < Date.Today And DateTimePicker1.Value > DateTimePicker2.Value Then
                   MsgBox("Start Date and Close Date cannot less than today's date AND Start Date cannot more than Close Date")
               ElseIf DateTimePicker3.Value < myTime And DateTimePicker4.Value < myTime And DateTimePicker2.Value > DateTimePicker3.Value Then
                   MsgBox("Start Time and Close Time cannot less than Current Time AND Start Time cannot more than Close Time")
               Else
                   cmd.Parameters.AddWithValue("@StartDate", DateTimePicker1.Value.ToShortDateString)
                   cmd.Parameters.AddWithValue("@CloseDate", DateTimePicker2.Value.ToShortDateString)
                   cmd.Parameters.AddWithValue("@StartTime", DateTimePicker3.Value.ToShortTimeString)
                   cmd.Parameters.AddWithValue("@CloseTime", DateTimePicker4.Value.ToShortTimeString)
               End If
               cmd.Parameters.AddWithValue("@Supplier", TextBox6.Text.Trim)
               cmd.Parameters.AddWithValue("@ActualETA", RichTextBox1.Text.Trim)
               cmd.Parameters.AddWithValue("@OrderNum", TextBox8.Text.Trim)
               cmd.Parameters.AddWithValue("@Remark", TextBox9.Text.Trim)
               If Label12.Text = "" Then
                   MsgBox("Please specify task status")
               Else
                   cmd.Parameters.AddWithValue("@Status", Label12.Text.Trim)
               End If
               cmd.ExecuteNonQuery()
               MsgBox("Information updated")
               connection.Close()
               RichTextBox1.Text = ""
               TextBox6.Text = ""
               TextBox8.Text = ""
               TextBox9.Text = ""
               Label12.Text = ""
               loadalll()
           Catch ex As SqlException
               MsgBox(ex.Message)
           End Try

       End If
   End Sub

解决方案

You actually have a syntax error in your update statement.

You need to use the form

update TABLE set FIELD1=VALUE1, FIELD2=VALUE2
where WHERECLAUSE


You should use

cmd.Parameters.AddWithValue("@Status", Label12.Text.Trim())



and

cmd.Parameters.AddWithValue("@StartDate", DateTimePicker1.Value.ToShortDateString())


Thanks to:

Uma Shankar Patel
Damian S

Solution:

>correction of my sql update statement
>put a for loop to force datagridview index not to negative or more than......



Public Sub updateai()
        Dim nsr = DataGridView1.SelectedRows.Count
        For i = 0 To (nsr - 1)
            Dim updateline As Integer = DataGridView1.SelectedRows(i).Cells(0).Value
            Dim updateme As String = "UPDATE ICDTBL SET CreateBy=@CreateBy, StartDate=@StartDate, CloseDate=@CloseDate, StartTime=@StartTime, CloseTime=@CloseTime, Supplier=@Supplier, ActualETA=@ActualETA, OrderNum=@OrderNum, Remark=@Remark, Status=@Status WHERE IDNO = " & updateline & ""
            Dim cmd As New SqlCommand(updateme, connection)

            If RichTextBox1.Text = "" And TextBox6.Text = "" And TextBox8.Text = "" And TextBox9.Text = "" Then
                MsgBox("blank content will not be send out")
            Else
                Try
                    If connection.State = ConnectionState.Closed Then
                        connection.Open()
                    End If
                    cmd.Parameters.AddWithValue("@CreateBy", Label10.Text.Trim())
                    If DateTimePicker1.Value < Date.Today And DateTimePicker2.Value < Date.Today And DateTimePicker1.Value > DateTimePicker2.Value Then
                        MsgBox("Start Date and Close Date cannot less than today's date AND Start Date cannot more than Close Date")
                    ElseIf DateTimePicker3.Value < myTime And DateTimePicker4.Value < myTime And DateTimePicker2.Value > DateTimePicker3.Value Then
                        MsgBox("Start Time and Close Time cannot less than Current Time AND Start Time cannot more than Close Time")
                    Else
                        cmd.Parameters.AddWithValue("@StartDate", DateTimePicker1.Value.ToShortDateString())
                        cmd.Parameters.AddWithValue("@CloseDate", DateTimePicker2.Value.ToShortDateString())
                        cmd.Parameters.AddWithValue("@StartTime", DateTimePicker3.Value.ToShortTimeString())
                        cmd.Parameters.AddWithValue("@CloseTime", DateTimePicker4.Value.ToShortTimeString())
                    End If
                    cmd.Parameters.AddWithValue("@Supplier", TextBox6.Text.Trim())
                    cmd.Parameters.AddWithValue("@ActualETA", RichTextBox1.Text.Trim())
                    cmd.Parameters.AddWithValue("@OrderNum", TextBox8.Text.Trim())
                    cmd.Parameters.AddWithValue("@Remark", TextBox9.Text.Trim())
                    If Label12.Text = "" Then
                        MsgBox("Please specify task status")
                    Else
                        cmd.Parameters.AddWithValue("@Status", Label12.Text.Trim())
                    End If
                    cmd.ExecuteNonQuery()
                    MsgBox("Information updated")
                    connection.Close()
                    RichTextBox1.Text = ""
                    TextBox6.Text = ""
                    TextBox8.Text = ""
                    TextBox9.Text = ""
                    Label12.Text = ""
                    loadalll()
                Catch ex As SqlException
                    MsgBox(ex.Message)
                End Try
            End If
        Next


这篇关于语法附近不正确....的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆