VB6.0连接ACCESS 数据库用like进行模糊查询时,查询不了?

SQL=“select[商品名称],[数量]from[库存]where[供应商]like’%”& text1.text &”%’
使用%通配符查询时,如供应商=小王同学,输入”小”查不到数据,输入“王”可以查到,输入同,或者学又查不到!换成通配符*,就啥也查不到,去掉第一个通配符,查询结果是数据库所有内容!这是啥情况?

第1个回答  2023-12-14

在Visual Basic 6.0 (VB6) 中连接Access数据库并执行模糊查询,可以使用ADO (ActiveX Data Objects) 组件。以下是一个简单的示例代码片段,演示如何创建一个ADO连接,构造一个包含LIKE语句的SQL查询,并执行该查询。

' 引入ADODB库

Dim conn As ADODB.Connection

Dim rst As ADODB.Recordset

Dim sql As String

' 设置连接字符串

sql = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=C:\path\to\your\database.mdb;"

' 建立连接

Set conn = New ADODB.Connection

conn.Open sql

' 设置SQL查询,使用LIKE进行模糊查询

sql = "SELECT * FROM YourTable WHERE YourColumn LIKE '%YourValue%'"

' 创建记录集

Set rst = New ADODB.Recordset

rst.Open sql, conn

' 遍历结果

Do While Not rst.EOF

' 访问字段值

Debug.Print rst.Fields("YourColumn").Value

' 移至下一条记录

rst.MoveNext

Loop

' 关闭记录集和连接

rst.Close

conn.Close

Set rst = Nothing

Set conn = Nothing

在上述代码中,请替换YourTable、YourColumn、YourValue和数据库路径为您实际的表名、列名和查询值。

注意事项:

    在使用LIKE语句时,Access中的通配符是星号*表示任意数量的字符,而SQL Server中的通配符是百分号%。

    在VB6代码中使用%作为通配符无需转义,直接使用即可。

    确保数据库文件的路径和数据库的安全性设置允许从VB6应用程序进行访问。

    如果您的数据库很大或者查询速度很慢,考虑优化您的查询和索引。

    以上代码只是一个基础的例子,实际开发中可能需要更多的错误处理和资源管理代码。

相似回答
大家正在搜