VB使用ADODB的Recordset 对象,将SQL查询字符串传递给 Recordset 对象的 Open 方法,来获取查询结果于记录集。使用Set 语句将查询的记录集赋给DataGrid控件的DataSource属性来实现显示于DataGrid控件中。
Recordset 对象 (ADO),表示的是来自基本表或命令执行结果的记录全集。任何时候,Recordset 对象所指的当前记录均为集合内的单个记录。
在打开 Recordset 之前设置 CursorType 属性来选择游标类型,或使用 Open 方法传递
CursorType 参数。部分提供者不支持所有游标类型。请检查提供者的文档。如果没有指定游标类型,ADO 将默认打开仅向前游标。
Set 语句,将对象引用赋给变量或属性。
SQL, Structured Query
Language(结构化查询语言 (SQL)),一种数据查询和编程语言。
代码实例:
Private Sub Command1_Click()
Dim cn As New ADODBConnection '定义数据库的连接
Dim rs As New ADODBRecordset
Dim sql As String
sql = "select from jishijilu" '
cnConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=" & AppPath & "\wdmdb;Persist Security Info=False"
cnOpen
rsCursorLocation = adUseClient
rsOpen sql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1DataSource = rs
End Sub
VBA是VB的一个只集,但是运行平台不一样。所以要移植到VB中理论上只要复制一下就行。
但是里面涉及到的数据库的链接,对office的 *** 作要换成VB的函数和语法。
下面是VB用ADODBConnection链接数据库的例子,楼主可以参考一下
Private Sub Command1_Click()Dim cn As New ADODBConnection '定义数据库的连接
Dim rs As New ADODBRecordset
Dim sql As String
sql = "select from jishijilu" '
cnConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=" & AppPath & "\wdmdb;Persist Security Info=False"
cnOpen
rsCursorLocation = adUseClient
rsOpen sql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1DataSource = rs
End Sub
使用ADO数据数据对象或控件,参考以下代码。
Private Sub Form_Load()Dim cnn As New Connection
Dim rs As New Recordset
Dim sql As String
Dim ARR
cnnOpen "Provider=MicrosoftJetOLEDB40;Data Source=C:\wdOldmdb;Persist Security Info=False"
sql = "select 故障名称 from guzhang_bm"
rsOpen sql, cnn
Combo1Text = "故障名称"
Do While Not rsEOF
Combo1AddItem rs("故障名称")
rsMoveNext '打开表
Loop
rsClose
cnnClose
End Sub
Private Sub Command1_Click()
Dim sqlstr As String
sqlstr = "select from jishijilu"
Adodc1ConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=C:\wdOldmdb;Persist Security Info=False"
Adodc1RecordSource = sqlstr
Adodc1Refresh
Set DataGrid1DataSource = Adodc1
Text1 = Adodc1RecordsetRecordCount
VB读取Mdb数据库一个表的数据可使用ADO数据对象或ADO数据控件实现。
通过选择“工程”菜单中的“引用”来为 ADO 对象库添加一个引用,然后在“引用”对话框中选择 Microsoft ActiveX Data Objects 20 Library
点上图确定。工程就引用了ADO。
运行代码示例:
Private Sub Command1_Click()
Dim cn As New ADODBConnection '定义数据库的连接
Dim rs As New ADODBRecordset '声明一个 Recordset 对象变量
Dim sql As String
sql = "select from jishijilu"
cnConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=" & AppPath & "\wdmdb;Persist Security Info=False"
cnOpen
rsCursorLocation = adUseClient
rsOpen sql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1DataSource = rs
End Sub
可以将DataGrid控件的属性DataSource与Ado Data控件绑定。使用Ado Data控件的Recordset 属性的AddNew 方法添加新行。Update 方法来保存对 Recordset 对象的当前记录所做的所有更改。
DataSource 属性,返回或设置一个数据源,通过该数据源,数据使用者被绑定到一个数据库。
ADO Data 控件使您能使用 Microsoft ActiveX Data Objects (ADO)
快速地创建一个到数据库的连接。
通过将 DataSource 属性设置为 ADO Data 控件,把 ADO Data 控件连接到一个数据绑定的控件,例如
DataGrid、DataCombo、或 DataList 控件。
以下代码是将输入在文本框的数据添加到数据表,在绑定的DataGrid控件后添加一行。
Private Sub Command1_Click()Adodc1RecordsetAddNew
Adodc1Recordset(0) = Text1
Adodc1Recordset(1) = Text2
Adodc1Recordset(2) = Text3
Adodc1Recordset(3) = Text4
Adodc1RecordsetUpdate
End Sub
Private Sub Form_Load() '建立数据库表连接,绑定DataGrid控件
Adodc1ConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=" & AppPath & "\Data\wdmdb;Persist Security Info=False"
Adodc1RecordSource = "select from jishijilu"
Adodc1Refresh
Set DataGrid1DataSource = Adodc1
End Sub
以上就是关于VB中如何ADODB 实现查询后显示在DATAGRID全部的内容,包括:VB中如何ADODB 实现查询后显示在DATAGRID、VBA关于access编辑的宏,如何移植到VB当中、你好,我想用VB做个查询界面,怎么将SQL语句嵌入进去等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)