注册 登录
编程论坛 VB6论坛

纠正错误

snrtjat 发布于 2013-11-13 16:59, 710 次点击
程序代码:
dim i as integer
dim nn as integer
for i=1 to 6
  for nn=78 to 83
     Adodc13.RecordSource ="""" & "select * from Downpart where [group] like 'S" & i & "%' and [Detail] like '" & label11(35).caption & "'" & """"
     adodc13.refresh
     label11(nn).caption=adodc13.recordset.recordcount
  next nn
next i
这句话怎么纠正,先说明一下i是变量
我用msgbox的结果为:
"select * from Downpart where [group] like 'S7%' and [Detail] like 'AE connector card'"
这个结果是我想要的,但是在
 Adodc13.RecordSource ="""" & "select * from Downpart where [group] like 'S" & i & "%' and [Detail] like '" & label11(35).caption & "'" & """"
为什么会不通过呢,请各位帮忙指正,谢谢!
13 回复
#2
vbvcr512013-11-13 18:01
以你的水平还会出错误,值得怀疑?
弱弱的问一下,是什么错误类型啊
#3
wp2319572013-11-13 19:17
sql语法和具体数据库有关
#4
风吹过b2013-11-13 19:42
我记得一般情况下,对SQL 命令来说,都不包含前后的 引号。

"select * from Downpart where [group] like 'S7%' and [Detail] like 'AE connector card'"

感觉就多了前面和后面那个双引号样的。你去掉试试。

双引号在 VB 里解释成 字符串的 开始和结束。
SQL 里,双引号是无解释意义,也就是普通字符,加在最前面,就被当做 SQL 命令的一部分,自然报错。
当然,也许有些数据库系统要求存在 双引号 也有可能。

SQL 里,单引号被解释成 字符串的开始和结束。
#5
snrtjat2013-11-14 09:38
各位,我还在不停的调试中,
如果有谁清楚,请帮忙将我的code进行修正,谢谢!

风老师所说的情况我知道,但是如果我不加双引号,这个是没有结果的.
#6
snrtjat2013-11-14 10:14
说清楚点就是
"select * from Downpart where [group] like 'S7%' and [Detail] like 'AE connector card'"
7是变量
ae connector card是变量
这个语句该如何做?
#7
wp2319572013-11-14 10:25
啥数据库啊
#8
snrtjat2013-11-14 10:37
回复 7楼 wp231957
用adodc绑定的access
#9
lowxiong2013-11-14 10:39
回复 6楼 snrtjat
dim i as integer,a as string,sql as string
i=7
a="AE connector card"
sql="select * from Downpart where [group] like 'S" & i & "%' and [Detail] like '" & a & "'"

[ 本帖最后由 lowxiong 于 2013-11-14 10:42 编辑 ]
#10
snrtjat2013-11-14 10:49
回复 9楼 lowxiong
程序代码:
dim i as ingeger
dim nn as ingeger
for i=1 to 6
    for nn=78 to 83
       adodc13.recordsource="select*from downpart where [group] like 'S" & i & "%' and [detail]like '" & label11(68).caption & "'"
       adodc13.refresh
       label11(nn).caption=adodc13.recordset.recordcount
    next nn
next i
怎么没有结果呢?
#11
lowxiong2013-11-14 10:54
回复 10楼 snrtjat
你在循环中刷recordset,还不把数据库引擎累死啊。(没显示则很肯能你最后一个条件本来就无数据)
#12
snrtjat2013-11-14 11:03
回复 11楼 lowxiong
我确定最后一个条件是有的

根据条件筛选出来的要统计出记录的数量,所以才会用到Adodc13.recordset.recordcount
#13
snrtjat2013-11-14 11:15
不细心呀
现在终于找到问题了.
程序代码:
dim i as ingeger
for i=1 to 6
    adodc13.recordsource="select*from downpart where [group] like 'S" & i & "%' and [detail]like '" & label11(68).caption & "'"
    adodc13.refresh
    label11(i+77).caption=adodc13.recordset.recordcount
next i

#14
冬冬1232013-11-14 16:04
回复 4楼 风吹过b
要的,数据源是用sql来说明的
1