在VB6中执行查询

时间:2013-12-27 15:54:38

标签: sql ms-access vb6

我正在尝试在VB6中执行查询。目前我有这个:

Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset


Private Sub Form_Load()
 Set conn = New ADODB.Connection
 conn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & App.Path & "\DB1.mdb; Persist Security Info = False"
 conn.Open
End Sub

Private Sub Command1_Click()
 Dim strSQL As String
 strSQL = "SELECT * FROM customers WHERE name = " & Text2.Text
 rs.Open strSQL, conn
End Sub

这会产生object variable or with block variable not set

我是VB和Access数据库的新手,所以任何答案或指向优秀教程的链接都会受到赞赏。

3 个答案:

答案 0 :(得分:4)

rs永远不会被实例化。尝试

Dim rs As New ADODB.Recordset

答案 1 :(得分:2)

添加

Set rs = New ADODB.Recordset

在运行rs.Open之前。 与连接相同的想法,需要首先实例化对象。 除此之外你还可以。

当你完成它们时关闭rs和连接也是一种好习惯。

答案 2 :(得分:1)

您没有在编码中实例化rs

Dim rs As New ADODB.Recordset

同时检查您的查询 如果名称是文本类型

,则使用name条件中的where,如下所示
strSQL = "SELECT * FROM customers WHERE name = '" & Text2.Text & "'