如果说我需要针对两个单独的数据库运行两个单独的SQL语句.现在我做(伪代码):Try{declare variable connectionA to DatabaseA declare variable connectionB to DatabaseB connectionA.open()connectionB.open() d...
如果说我需要针对两个单独的数据库运行两个单独的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#中处理多个数据库连接的最佳方法是什么?
基础教程推荐
猜你喜欢
- unity学习教程之定制脚本模板示例代码 2023-01-11
- C#中Timer定时器类的简单使用 2023-06-08
- c# 使用模式匹配以及 is 和 as 运算符安全地进行强制转换 2023-03-14
- C#实现String类型和json之间的相互转换功能示例 2022-11-15
- 将图像添加到ListBox(c#,windows phone 7) 2023-09-18
- c#获取客户端IP地址(考虑代理) 2023-02-07
- C#操作INI文件的方法详解 2023-07-05
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- 事务在c#中的使用 2023-06-05
- C#使用Consul集群进行服务注册与发现 2023-02-03