VB6 - 如何在一次调用中执行多个SQL查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB6 - 如何在一次调用中执行多个SQL查询相关的知识,希望对你有一定的参考价值。

我在VB6中有一个旧的慢程序,使用ADO在许多调用中运行许多sql查询。它花了太多时间。我想测试是否在一个查询中发送所有查询(大多数只是更新或插入)以节省网络和调用时间。我该如何实现这一点,并建议是否可以节省时间并提高性能?

    qry = "Update table1 Set col1 = 'eerere' Where 1=1"
    qry = qry & vbCrLf & "  AND MyID = " & MyID & vbCrLf
    ExecSQL qry, DBCon, adAsyncExecute

    qry = "Insert Into TableMain"
    qry = qry & "Select  col1,col2,col3 from Table2 Where 1=1"
    qry = qry & vbCrLf & "  AND MyID = " & MyID & vbCrLf
    ExecSQL qry, DBCon, adAsyncExecute

    qry = "Update table5 Set col1 = 'eerere' Where 1=1"
    qry = qry & vbCrLf & "  AND MyID = " & MyID & vbCrLf
    ExecSQL qry, DBCon, adAsyncExecute
答案

您可以通过用分号分隔命令将它们组合成一个调用:

qry = "Update table1 Set col1 = 'eerere' Where 1=1"
qry = qry & vbCrLf & "  AND MyID = " & MyID & "; " & vbCrLf

qry = qry & "Insert Into TableMain"
qry = qry & "Select  col1,col2,col3 from Table2 Where 1=1"
qry = qry & vbCrLf & "  AND MyID = " & MyID & "; " & vbCrLf

如果它不会导致任何错误,它可能会给你一些小的性能提升。

以上是关于VB6 - 如何在一次调用中执行多个SQL查询的主要内容,如果未能解决你的问题,请参考以下文章

vb6中如何调用sql的储存过程?

如何在 Prometheus 中一次调用执行多个查询

如何在一次调用中释放多个互斥锁

使用java语句类的单个execute()方法执行多个hive查询

如何让多个不同的SQL语句一起执行?

链式 REPLACE 函数在一次查询执行时仅替换一个值