热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vb中如何实现两个表的连接查询?sql语句没问题,但执行不了。(有其它代码)

DimcnAsNewADODB.ConnectionDimcmdAsNewADODB.CommandDimrstAsNewADODB.Recordsetcn.Mod
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rst As New ADODB.Recordset
cn.Mode = adModeShareDenyWrite
cn.Open "dsn=TextBook"
Set cmd.ActiveConnection = cn
rst.CursorLocation = adUseClient
cmd.CommandText = " SELECT Products.product_id,   Products.product_name,Products.quantity_in_unit, Products.出版时间Supplier.company_name as scompany_name ,Products.unit_price FROM  tastrade!supplier RIGHT OUTER JOIN tastrade!products ON  Supplier.supplier_id = Products.supplier_id"cmd.CommandType = adCmdText
cmd.CommandType = adCmdText
rst.Open cmd, , adOpenForwardOnly, adLockReadOnly
Set rst.ActiveConnection = Nothing
If rst.RecordCount = 0 Then
   MsgBox "教材科目前已无库存!", 64, "结果"
   Welcome.WriteTemplate
   Exit Sub
End If
With Response
     .Write ""
     .Write ""
     .Write "库存书目

"
     .Write "
"
     .Write ""
     .Write "教材代码教材名称作者"
     .Write "出版时间(版次)出版社单价"
     While Not rst.EOF
            .Write ""
            .Write "" & rst.Fields("product_id") & ""
            .Write "" & rst.Fields("product_name") & ""
            .Write "" & rst.Fields("quantity_in_unit") & ""
            .Write "" & rst.Fields("出版时间") & ""
            .Write "" & rst.Fields("scompany_name") & ""
            .Write "" & rst.Fields("unit_price") & ""
            .Write ""
            rst.MoveNext
     wend   
     .Write ""
     .Write "
"
     .Write "返 回

"
     .Write ""
End With
Set cn = Nothing
Set cmd = Nothing
Set rst = Nothing


返回的rst中只有一个表中的字段,而另一表的字段为空,左、右、内、全联接都试过了,能返回一个表就算不错的,有的什么也回不来。

14 个解决方案

#1


Products.出版时间Supplier.company_name 是什么?是不是掉了逗号?

#2


我也想知道

#3


确实是掉了逗号。

#4


另外,cmd.commandType=adcamdtext 多谢了一句。

#5


删除上一条回复,改为:另外,cmd.CommandType = adCmdText 多写了一句。

#6


to BrentIvan:
   怎么了,是不是我的问题太幼稚了,还是没有可行的办法,要换方案?可我被困的好苦。

#7


你要问什么?

#8


    具体来说:我在做网上订购教材的系统,用VB中的IIS应用程序,B/S模式,数据库是VF的,库中有表products包括书名和出版社代码,表supplier包括出版社代码和出版社名,我想把书名和出版社名同时显示出来,需要两个表的连接,在VF中建视图,各种联接均达不到所需效果,要么只返回一个表中的内容,要么一个都没有。现用SQL执行也不行。

#9


看不出有什么问题。
这样吧,程序打包(包括dbf文件),发给我看看 brentivan@163.net

#10


对于您的热情我无比感激,想再问您,在VB里实现两个表的连接的确可行是吗,我用标准工程中的ADO和DBDrid控件在普通窗体中做实验都不行。我是新手,怎样能给您加分?

#11


虽然我没有这样做过,不过想来应该是可以的。
加分不必急,解决再说。  你的程序发了吗?

#12


用SQL语句肯定行,我用过的。

#13


我的E-mail:flytiger1977@etang.com

#14


武松:
    那我在标准EXE中把Ado和DBGrid与数据库中的视图连接,此视图就是库中两个表联接而成的,显示时,总有问题,左、右联接时只显示其中一个表的字段,另一表中字段为空,内联接时都为空,根本不显示数据,全联接又不符合要求,怎么回事?具体说来,就是我要把一个表中的出版社代码用另一表中的出版社名代替。恳请高手指点。

推荐阅读
author-avatar
杨斜2602934873
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有