BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #1343同步于 2007/7/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

紧急求助:(SQL+VB牛牛进)联合查询问题~~

lilytengtt
2007/7/27镜像同步2 回复
Set cn = New ADODB.Connection cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID='" & DataBaseID & "';Password='" & DBpassword & "';Initial Catalog=patrol;Data Source=(local)" cn.Open Set rss = New ADODB.Recordset sql = "select Table1.long,Table2.lati,Table3.inf from Table1 , Table2,Table3 where Table2.InfID='" + Combo1.Text + "' and Table3.InfID='" + Combo1.Text + "' and Table1.GSMID=Table3.GSMID and abs(datediff(minute,Table2.[time],Table1.[time])) between 0 and '" & Interval & "'" rss.Open sql, cn, adOpenStatic, adLockOptimistic If rss.RecordCount > 0 Then Set frmMain.DataGrid1.DataSource = rss End If SQL那句联合查询语句已经在SQLServer里验证过了,没问题。 但是RecordCount的值一直是-1,代码也没有问题。 最后发现如果将是sql=“”换成任何的单表查询,RecordCount的值是对的。 所以猜测,VB执行SQL语句是不支持联合查询?? 但是。。。SQL语句是应该调用SQL server执行的才对,为什么SQL Server中验证过的查询语句,这里就不行了呢~ 牛牛们,帮忙指点一下啊~~ 非常着急~~ [em9][em9]
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
caomeiliang机器人#1 · 2007/8/14
可以在if之前写个输出代码 比如说system.out.print(sql)(vb不会用,知道意思就行了) 然后看看输出代码的sql语句是否可以查询出东东
sanfly机器人#2 · 2007/9/2
怎么会是1呢 如果找不以的话也该是0呀