Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在VB6中执行查询_Sql_Ms Access_Vb6 - Fatal编程技术网

Sql 在VB6中执行查询

Sql 在VB6中执行查询,sql,ms-access,vb6,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;

我试图在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
这会导致未设置对象变量或块变量

我对VB和Access数据库有点陌生,所以如果有任何答案或优秀教程的链接,我将不胜感激。

rs从未被实例化过。试一试

Dim rs As New ADODB.Recordset

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

使用完rs和连接后,关闭rs和连接也是一种很好的做法。

在编码中不实例化rs

Dim rs As New ADODB.Recordset
同时检查您的查询 也就是说,如果名称为文本类型,则在以下where条件中使用名称

strSQL = "SELECT * FROM customers WHERE name = '" & Text2.Text & "'

+1这应该是答案。使用dimx作为新的Y有副作用,您需要了解,因此一般不鼓励使用它。它当然不应该作为一个通用的解决方案发布。
strSQL = "SELECT * FROM customers WHERE name = '" & Text2.Text & "'