返回信息流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]
这是一条镜像帖。来源:北邮人论坛 / database / #1343同步于 2007/7/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
紧急求助:(SQL+VB牛牛进)联合查询问题~~
lilytengtt
2007/7/27镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
可以在if之前写个输出代码
比如说system.out.print(sql)(vb不会用,知道意思就行了)
然后看看输出代码的sql语句是否可以查询出东东