gpt4 book ai didi

c# - 在 C# 中处理多个数据库连接的最佳方法是什么

转载 作者:太空狗 更新时间:2023-10-30 00:36:44 25 4
gpt4 key购买 nike

如果说我需要针对两个单独的数据库运行两个单独的 SQL 语句。现在我做(伪代码):

Try{

declare variable connectionA to DatabaseA
declare variable connectionB to DatabaseB

connectionA.open()
connectionB.open()


declare variable SQLCmdA with ConnectionA and one SQL statement
declare variable SQLCmdB with ConnectionB and another SQL statement

SQLCmdA.executeNonQuery()
SQLCmdB.executeNonQuery()

}

Catch ()
{
print error message
}

Finally(){
connectionA.close()
connectionB.close()
SQLCmdA.Dispose()
SQLCmdB.Dispose()
}

上面的看起来很笨拙。如果我有三个不同的 sql 语句,我将需要三个不同的 SQLCmd 变量。

是否有一种“标准”的方式来做这些事情,尤其是在效率、性能方面?如果有人能提供一个简单的改进伪代码,那就太好了。

此外,我是否需要担心实现连接池以节省资源并加快程序速度?如果是这样,在这种情况下我该如何实现?

谢谢!

最佳答案

与其添加变量,不如创建一个类?

public class MyDatabaseConnection {
public MyDatabaseConnection(string connectionString) {
this.connectionString = connectionString;
// create a database connection perhaps
}
// some methods for querying a database
public void execute(string query) { }
}

在这种情况下很容易添加第三个数据库连接

MyDatabaseConnection con1 = new MyDatabaseConnection("Server=localhost");
MyDatabaseConnection con2 = new MyDatabaseConnection("Server=other_server");
MyDatabaseConnection con3 = new MyDatabaseConnection("Server=third_one");

然后对每个执行一个sql查询

MyDatabaseConnection[] cons = new MyDatabaseConnection[]{ con1, con2, con3 };
foreach (MyDatabaseConnection con in cons) {
con.execute(someSqlCommandText);
}

关于c# - 在 C# 中处理多个数据库连接的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/958540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com