语法附近不正确.... [英] Incorrect Syntax Near ....
本文介绍了语法附近不正确....的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问题:
可以任何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屋!
查看全文