【发布时间】:2017-05-11 13:55:06
【问题描述】:
查询表达式 'SeriesNo (between 1and5') 中的语法错误(缺少运算符)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If rsa.State = 1 Then rsa.Close()
rsa.Open("select * from Records where SeriesNo between" & Me.txtseriesfrom.Text & "and" & Me.txtseriesto.Text & "", cn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
TextBox5.Text = txtseriesto.Text
TextBox3.Text = txtseriesfrom.Text
txtseriesto.Text = txtseriesto.Text + 1
Do Until Val(txtseriesfrom.Text) >= Val(txtseriesto.Text)
If rs.State = 1 Then rs.Close()
rs.Open("select * from Transfer", cn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
rs.AddNew()
rs.Fields("SeriesNo").Value = txtseriesfrom.Text
rs.Fields("Brand").Value = cbobrand.Text
rs.Fields("Denomination").Value = cbodenomination.Text
rs.Fields("Store").Value = cbostore.Text
rs.Fields("User").Value = txtuser.Text
rs.Fields("Date").Value = txtdate.Text
rs.Update()
txtseriesfrom.Text = txtseriesfrom.Text + 1
Loop
txtseriesto.Text = txtseriesto.Text - 1
txtseriesfrom.Text = Val(TextBox3.Text)
TextBox4.Text = TextBox3.Text
TextBox5.Text = TextBox5.Text + 1
Do Until Val(TextBox4.Text) >= Val(TextBox5.Text)
rsa.Delete()
rsa.MoveNext()
TextBox4.Text = TextBox4.Text + 1
Loop
TextBox5.Text = TextBox5.Text - 1
TextBox4.Text = Val(TextBox3.Text)
MsgBox("Successfully Transfered!", vbInformation, "SAVED")
End Sub
【问题讨论】:
-
为“between”参数添加空格:
Dim query = $"select * from Records where SeriesNo between {Me.txtseriesfrom.Text} and {Me.txtseriesto.Text}". -
Series (between 1and5对您来说看起来像有效的 SQL 语法吗?是你想把它粘在一起吗? -
如果您希望我们帮助您,您需要更清楚地公开您想要做什么以及该程序是如何工作的。
-
使用参数避免sql注入并解决您的错误。
标签: vb.net