将参数传递到MySQL查询-VB6

问题描述

我需要一些将参数传递给MySQL数据库表查询的帮助。我有多个唯一表,我需要根据“ 客户端 *”参数进行查询。

为了避免编写无尽的if语句,我需要一种方法来将每个唯一的客户端参数。即“ client1 _” 传递给下面的数据库查询。因此,我不需要每次都在下面的查询中对“ client1_accounts” 等进行硬编码,而是需要一种方法,能够仅在需要时将“ client *”参数附加到查询的各个部分,并避免编写将声明一个if语句作为每个实例的参数。

If tablePrefix = "client1_" Then
    Set myconn = New ADODB.Connection
    Set rs_client1_accounts = New ADODB.Recordset
    myconn.Open "Driver={MySQL ODBC 3.51 Driver};server=" & frmSettings.Text1(0).Text & ";uid=" & frmSettings.Text1(2).Text & ";pwd=" & frmSettings.Text1(3).Text & ";database=" & frmSettings.Text1(1).Text & ""
    
    mysql = "SELECT * FROM client1_accounts"
    rs_client1_accounts.Open mysql,myconn,adOpenKeyset,adLockPessimistic
        
    Do Until rs_client1_accounts.EOF = True
        List1.AddItem rs_client1_accounts!account
        rs_client1_accounts.MoveNext
    Loop
    
    ElseIf tablePrefix = "client2_ Then
    
    .... etc ... etc
End if

我希望我已经正确解释了我想做什么,但如果我不提出任何问题,我会尽力澄清。

感谢您的帮助!

解决方法

代替

mysql = "SELECT * FROM client1_accounts"

使用

mysql = "SELECT * FROM " & tablePrefix & "accounts"

第二个示例的结果是与第一个示例中的字符串相同的字符串连接。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...