问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VB6.0的部件中没有ADO控件,有会的么?告诉我怎么回事

发布网友 发布时间:2022-05-10 19:46

我来回答

3个回答

热心网友 时间:2023-05-11 05:18

工程-引用-找到Microsoft ActiveX Data Objects Library
下面的示例代码以Northwinds数据库作为远程数据源,然后用ADO来访问它。首先在控制面板中打开“32位数据源”,单击“添加”按钮。在弹出的对话框中选择 "Microsoft ACCESS Driver (*.mdb)" 作为数据源驱动程序。

选择数据库Northwinds所在路径。单击完成,退出ODBC设备管理器。

启动一个新的VB工程,在窗体的Load事件中输入下面的代码:

Private Sub Form_Load()

Dim cn As ADODB.Connection
Set cn = New ADODB.Connection

'Set Connection properties
cn.ConnectionString = "DSN=RDC Nwind;UID=;PWD=;"
cn.ConnectionTimeout = 30
cn.Open

If cn.State = adStateOpen Then _
MsgBox "Connection to NorthWind Successful!"

cn.Close

End Sub
按F5运行程序,看看,一个消息框弹出来告诉你连接成功了。请注意,这里我特别注明了是ADODB.Connection,而不是ADOR.Connection,这样做是为了将二者区分开(如果你引用了ADODB和ADOR的话,这样做很有必要)。连接字符串看上去同RDO的连接字符串差不多。事实上,二者确实差不多。
如果我们要访问一个SQL Server数据库,你的Connection代码看上去应象下面所示:

'设置连接属性cn.Provider = "MSDASQL"
cn.ConnectionString = "driver={SQL Server};" & "server=prod1;uid=bg;pwd=;database=main"
cn.Open

"Provider"属性指向SQL Server的OLE DB Provider.
回到我们的示例程序,让我们创建一个Recordset对象来访问“Orders”表,并从该表的"ShipCountry"字段中产生头十个不重复的国家名。修改窗体Load事件中的代码,让它看上去象下面这样。

Private Sub Form_Load()

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

Dim sSQL As String
Dim sOut As String
Dim Count As Integer

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

' Set properties of the Connection.
cn.ConnectionString = "DSN=RDC Nwind;UID=;PWD=;"
cn.ConnectionTimeout = 30
cn.Open

If cn.State = adStateOpen Then _
MsgBox "Connection to NorthWind Successful!"

sSQL = "SELECT DISTINCT Orders.ShipCountry FROM Orders"
Set rs = cn.Execute(sSQL)

'Enumerate the recordset
sOut = ""
For Count = 1 To 10
sOut = sOut & rs("ShipCountry") & VBCrLf
rs.MoveNext
Next Count

MsgBox sOut, VBExclamation, "ADO Results"
cn.Close

End Sub

不幸的是,目前这个Recrodset对象是只读的和forward cursor。如果你想要获取更多的功能,你需要创建一个独立的Recordset对象,该对象拥有自己的Connection属性,就象下面的代码所示:

Private Sub Form_Load()

Dim rs As ADODB.Recordset

Dim sSQL As String
Dim sOut As String
Dim Count As Integer

Set rs = New ADODB.Recordset

sSQL = "SELECT DISTINCT Orders.ShipCountry FROM Orders"

rs.Open sSQL, "DSN=RDC Nwind;UID=;PWD=;", adOpenDynamic

'Report Recordset Connection information
MsgBox rs.ActiveConnection, , "Connection Info"

'Enumerate the recordset
sOut = ""
For Count = 1 To 10
sOut = sOut & rs("ShipCountry") & VBCrLf
rs.MoveNext
Next Count

MsgBox sOut, VBExclamation, "ADO Results"

rs.Close

End Sub
上面代码返回的结果同前例一样,但是本代码中的Recordset是独立的。这一点是DAO和RDO做不到的。Recordset对象的Open方法打开一个代表从SQL查询返回的记录的游标。虽然你可以用Connection对象同远程数据源建立连接,但请记住,在这种情况下,Connection对象和Recordset对象是平行的关系。

热心网友 时间:2023-05-11 05:18

选择菜单"工程|部件",然后选中Microsoft ADO Data Control 6.0,“确定”
就可以在窗体中画ADO控件。

热心网友 时间:2023-05-11 05:19

在“工程/部件”下找不到“Microsoft ADO Data Control 6.0”这一项的话,说明你的系统中很可能不存在MSADODC.OCX控件。如果你的系统盘是在C盘的话,你可在C:\WINDOWS\system32目录下查找MSADODC.OCX控件。如果没有找到的话,很可能该控件由于某种原因被删除了。但是如果能找到该控件,则说明该控件尚没有注册,你只需将该控件注册后重新打开VB即可找到该控件。当然,前提是你使用的VB不能是盗版的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
蚂蚁泡酒适合哪些人喝 蚂蚁酒的功效与禁忌蚂蚁酒的功效与作用 热血无赖卡怎么办 了解这两方面内容 益生菌孕妇 孕妇能喝益生菌吗 羽毛球双打底线是内线还是外线 为什么泰国两位尊者有不死之身 秦始皇活了多少岁?当了几年皇帝? DELL电脑D630.PP18L2手机。才用了4个多月。多少钱我可以买呢,麻烦谁说... dellpp18l现在买多少钱 新车有异味怎么去除? vb2010如何在工具箱中添加ado控件 ADO控件怎么在VB界面中添加 NB2K22为什么只能升级两个终结徽章 VB ACCESS 如何设置ADO控件? 如何将ADO数据控件安装到电脑上? 2k22罗斯几个徽章 vc6.0中没有ADO控件,怎么添加? 如何将磁带中的声音高清晰地录制到电脑里去? 2k22mc徽章点不够用 VB中ADO控件怎么用日期进行查询啊? 2k22mc如何获得训练狂徽章 求解,算24点,7 10 10 10,怎么算出24? 2k22徽章可以买吗 VB中ADO控件怎么设置相对路径 哪个软件录的视频最清晰 2k22徽章有的球员不能用 VB6.0中没有ADO控件该如何办??? 高清录播系统的发展优势有哪些? 轿车可以在外地年审吗 新车里的异味怎么清除? Visual C++6.0在添加ADO控件时出现Microsoft ADO Data Control,version 6.0(OLEDB)不支持此接口是怎么回事 石榴的别称 石榴又叫什么? 石榴有什么别称 在古代称石榴什么??? 土豆丝的炒法,第几步干什么。 百度新产品度秘 度秘是什么能做什么 度秘的度秘将无处不在 百度度秘在两会过后还能即时看新闻资讯吗 胃胀打嗝 怎么解决 度秘app,为什么我已经登陆了?度秘,为什么却提示没有登陆? 我怎么和度秘聊天呢? 欧兰特电子晾衣架怎么和它对话 除了手机百度里有度秘,哪里还有度秘 胃胀打嗝怎么办呢 度秘 在哪个软件里 定期存款需要身份证吗 度秘怎么订阅两个明星的最新行程 还有什么类似百度知道的APP 推荐下