vb中DataGrid绑定Recordset记录集的问题

Dim conn As ConnectionDim rs As RecordsetSet conn = CreateObject("adodb.connection")Set rs = CreateObject("adodb.recordset")Dim SQL As StringSQL = "select tName,tPhone,tSum,tDate from t_basic where tInvoice = ✀" & sInvoice.Text & "✀"conn.Open "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbPath & ";Persist Security Info=False;Jet OLEDB:Database Password=abc123"rs.Open SQL, conn, 1, 1, 1Set DataGrid1.DataSource = rs(rs.CloseSet rs = Nothingconn.CloseSet conn = Nothing)有段DataGrid绑定Recordset记录集的代码如上但是运行下来什么反应都没有,也没有报错谁能帮我看看这应该怎么做的?还有括号内的代码如果执行了会使DataGrid内数据失效吗?如果会的话最后应该怎么关闭数据集和连接?(括号内的代码我加上去和去掉结果都没反应的)DataGrid1.ClearFieldsDataGrid1.ReBind我发现可能是漏了这两条但我加上去之后却出现"不能初始化数据绑定"这是怎么回事?网上查了下大多是说几个组件注册一下,我全部注册过了还是没用
2026年09月26日 10:45
有2个网友回答
网友(1):

Private Sub Command1_Click()
Dim cn As New ADODB.Connection '定义数据库的连接
Dim rs As New ADODB.Recordset
Dim sql As String
Dim l As Integer
Dim i As Integer
Dim fieldName() As String
sql = "select tName,tPhone,tSum,tDate from t_basic where tInvoice = '" & sInvoice.Text & "'"
cn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbPath & ";Persist Security Info=False;Jet OLEDB:Database Password=abc123"
cn.Open
rs.CursorLocation = adUseClient
rs.Open sql, cn, adOpenDynamic, adLockOptimistic
rs.MoveFirst
rs.MoveLast
l = rs.Fields.Count
Debug.Print l
Set DataGrid1.DataSource = rs
End Sub

网友(2):

用ADODC控件和Datagrid控件数据绑定。