为什么vb里,在成绩那输入90后进行模糊查询,总是出现字符串90%前有未闭合引导

white8 2016-11-05 06:24:27
if txtGrade.Text <> "" Then
If chkMoHu.Value = 1 Then
strCon(5) = "SC.grade like '" & txtGrade.Text & "%"
Else
strCon(5) = "SC.grade ='" & txtGrade.Text & "'"
End If

Else
strCon(5) = ""
End If


strSQL = "select SC.Sno,Student.Sname,SC.Cno," _
& " Course.Cname,SC.grade from SC,Student,Course " _
& " where SC.sno=Student.sno and SC.Cno=Course.Cno "
For i = 1 To 5
If strCon(i) <> "" Then
strSQL = strSQL + " and " + strCon(i)
End If
Next


Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=ST;Initial Catalog=S-T"
Adodc1.CursorLocation = adUseClient
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = strSQL
[b]Adodc1.Refresh
调试后显示出错在adodc1.refresh这块,你能帮我看下哪里有问题吗?谢谢
...全文
1554 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
饮水需思源 2018-01-03
  • 打赏
  • 举报
回复
strCon(5) = "SC.grade like '" & txtGrade.Text & "%'"
赵4老师 2017-12-11
  • 打赏
  • 举报
回复
注释掉所有On Error Resume Next语句,在VB6 IDE中运行, 出错后点击调试,光标会停在出错的那条语句处, 或者 事先在怀疑可能有逻辑错误的语句处设置断点,运行经过断点时中断, 此时可以在立即窗口中使用 ?变量名 或 ?函数名(函数参数) 或 过程名(参数) 辅助调试。
zdingyun 2017-12-11
  • 打赏
  • 举报
回复
注意下成绩字段的数据是数字还是字符字段,两者SQL查询句写法不同,字符字段可用模糊查询,数值字段只能用>=、<=等来判别。
qq_40816856 2017-12-08
  • 打赏
  • 举报
回复
strCon(5) = "SC.grade like '" & txtGrade.Text & "%"改成 "SC.grade like '%" & txtGrade.Text & "%‘’"
舉杯邀明月 2016-11-06
  • 打赏
  • 举报
回复
这个问题,你首先要自己分析一下"SQL语句"字符串是否合法啊。 它提示“运行时错误”时,你点“调试”按钮。 然后,IDE执行中断,暂停在引起异常的执行语句上。 你按键盘“Ctrl+G”打开立即窗口,输入下面这条命令并按回车键: ? strSQL 它会把你“组合出的SQL语句”内容显示出来, 你自己看看这个查询语句有什么问题,也许你自己就知道是啥原因、如何更正代码了。
vansoft 2016-11-06
  • 打赏
  • 举报
回复
%后面少一个英文的单引号。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧