用ADO开发数据库应用程序常见问题解答
http://91mail.51.net/wz/ADO.pdf
1. 如何获得ado连接字符串?
1) 用windows操作系统的文件关联属性,调出windows的“Data Link Properties”的对话框来获得ado连接字符串。
步骤如下:
(1) 右键单击任何Explorer窗口并选择“新建文档”。
(2) 将文档保存成扩展名是.udl的文档。
(3) 双击这个udl 文件,打开Data Link Properties 对话框。
(4) 单击Data Link Properties对话框的Provider 标签,选择一个OLE DB 提供者。
(5) 在其于的标签中填入适当的提供者信息和要用的数据。
(6) 单击OK按钮保存文件。
(7) 用Windows Notepad (或其他文本编辑器)打开udl文件,其中包括OLE DB 连接字符串。
2) 通过编程调出”Data Link Properties”
要调用这个对话框,必须引用Microsoft OLE Service Component 1.0 Type Library,这是OLE DB 安装的类型库,任何要访问ADO的计算机都要安装的这个类型库。一般安装了Microsoft的office办公套件或者SQLSERVER 2000后都有这个类库。
下面在VB中调用这个对话框:
如下图所示在一个窗体上放置一个按钮(command1)和一个文本框(text1)
代码如下:
Private Sub Command1_Click()
Dim datalink As MSDASC.DataLinks
Dim cnn As ADODB.Connection
Dim connectstr As String
Set datalink = New MSDASC.DataLinks
datalink.hWnd = Me.hWnd
Set cnn = datalink.PromptNew
If Not cnn Is Nothing Then
connectstr = cnn.ConnectionString
End If
Text1.Text = connectstr
Set cnn = Nothing
Set datalink = Nothing
End Sub
调出个对话框后按你的要求设置后单击确定后就会在text1中生成adodb.connection 对象的ConnectionString 的值
2 如何通过ADO访问带密码的ACCESS数据库
用我在上一个问题生成的小工具生成如下字符串就可以了
ConnectionString=” Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=E:\ datas\water.mdb;Jet OLEDB:Database Password=water”
其中数据提供者是Microsoft.Jet.OLEDB.3.51,数据源是要访问的ACCESS文件数据库的路径。Jet OLEDB:Database Password是Microsoft Access 设置的密码。
要详细了解这些内容请查阅msdn
3 为什么ADODB.RecordSet对象有时无法返回正确的RecordCount值。
只要设置ADODB.RecordSet对象的CursorLocation 属性的值为adUseClient就可以了。
详细原因请查阅msdn