在语句where1(sql语句)附近有语法错误,求高手解答。
vb编程,联接sql2000数据库,在文本框(图片中)中输入数据时调用类模块根据输入数据实现类似匹配筛选。当文本框中点击调用类时出错。之前这样做过没发现错误。'类模块声明...
vb编程,联接sql2000数据库,在文本框(图片中)中输入数据时调用 类模块 根据输入数据实现类似匹配筛选。当文本框中点击调用 类 时出错。之前这样做过没发现错误。
'类模块声明
Public Sub qjcx() Dim sql As StringDim itemX As ListItemsql = ""If frm请假.cmb专业组 = "" And frm请假.txt员工号 = "" And frm请假.txt姓名 = "" Then sql = 1Else If frm请假.cmb专业组 <> "" Then sql = sql & "And 人员信息.专业组 like '%" & frm请假.cmb专业组 & "%'" If frm请假.txt员工号 <> "" Then sql = sql & "And 人员信息.员工号 like '%" & frm请假.txt员工号 & "%'" If frm请假.txt姓名 <> "" Then sql = sql & "And 人员信息.姓名 like '%" & frm请假.txt姓名 & "%'" sql = Trim(sql)End IfIf Left(sql, 3) = "And" Then sql = Right(sql, Len(sql) - 3)sql = "Select 人员信息.员工号,人员信息.姓名,人员信息.专业组,人员信息.班次,对应时间点.计划上班," & _"对应时间点.计划下班 From 人员信息 LEFT OUTER JOIN 对应时间点 on 人员信息.班次=对应时间点.班次 Where" & sql Set rs = QueryExt(sql)frm请假.lv原始.ListItems.Clear Do While Not rs.EOF Set LVRow = frm请假.lv原始.ListItems.Add(, , rs("员工号")) LVRow.SubItems(1) = rs("姓名") LVRow.SubItems(2) = IIf(IsNull(rs("专业组")), "", rs("专业组")) LVRow.SubItems(3) = rs("班次") LVRow.SubItems(4) = rs("计划上班") LVRow.SubItems(5) = rs("计划下班") rs.MoveNext Loop SQLExt (sql) End Sub 展开
'类模块声明
Public Sub qjcx() Dim sql As StringDim itemX As ListItemsql = ""If frm请假.cmb专业组 = "" And frm请假.txt员工号 = "" And frm请假.txt姓名 = "" Then sql = 1Else If frm请假.cmb专业组 <> "" Then sql = sql & "And 人员信息.专业组 like '%" & frm请假.cmb专业组 & "%'" If frm请假.txt员工号 <> "" Then sql = sql & "And 人员信息.员工号 like '%" & frm请假.txt员工号 & "%'" If frm请假.txt姓名 <> "" Then sql = sql & "And 人员信息.姓名 like '%" & frm请假.txt姓名 & "%'" sql = Trim(sql)End IfIf Left(sql, 3) = "And" Then sql = Right(sql, Len(sql) - 3)sql = "Select 人员信息.员工号,人员信息.姓名,人员信息.专业组,人员信息.班次,对应时间点.计划上班," & _"对应时间点.计划下班 From 人员信息 LEFT OUTER JOIN 对应时间点 on 人员信息.班次=对应时间点.班次 Where" & sql Set rs = QueryExt(sql)frm请假.lv原始.ListItems.Clear Do While Not rs.EOF Set LVRow = frm请假.lv原始.ListItems.Add(, , rs("员工号")) LVRow.SubItems(1) = rs("姓名") LVRow.SubItems(2) = IIf(IsNull(rs("专业组")), "", rs("专业组")) LVRow.SubItems(3) = rs("班次") LVRow.SubItems(4) = rs("计划上班") LVRow.SubItems(5) = rs("计划下班") rs.MoveNext Loop SQLExt (sql) End Sub 展开
3个回答
展开全部
1 sql = 1 这句什么意思? 不是字符吗
2 Where" & sql 问题应该是这儿的, 因为where和 后续的内容间没有空格,就出现 where1 的内容了。
3 你跟踪一下,看sql语句提交执行前,是什么内容,有没有错误。
2 Where" & sql 问题应该是这儿的, 因为where和 后续的内容间没有空格,就出现 where1 的内容了。
3 你跟踪一下,看sql语句提交执行前,是什么内容,有没有错误。
追问
sql="1"效果也一样,加了空格也是会出错的
追答
你仔细看我的回复:
sql = 1 这句什么意思? 不是字符吗 ,请想清楚,你要干什么, 是要写 sql = “1=1” 吗?
3. 你跟踪一下,看sql语句提交执行前,是什么内容,有没有错误。 这个是我们通常查错的方法。 一定要学会。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql = 1改为sql = " 1=1"
sql = sql & " And ......" 双引号裏面开头留一个空格,或者在where後面留一个空格...
希望你能成功!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql = ""
If frm请假.cmb专业组 = "" And frm请假.txt员工号 = "" And frm请假.txt姓名 = "" Then
sql = 1
为何sql-1?
If frm请假.cmb专业组 = "" And frm请假.txt员工号 = "" And frm请假.txt姓名 = "" Then
sql = 1
为何sql-1?
追问
因为select 语句后会有where ,如果设定sql="",,那么将会出现sql 语句最后出现where ,将出错。
追答
where 1=1
不是1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询