在我的代码中,如果我有多个连接字符串,如何在不创建另一个ExecuteNonQuery()共享函数的情况下实现这一点,因为多重连接?我想用if if来判断一个类函数调用ExecuteNonQuery()是否应该使用特定的连接字符串进行开/关连接,我想重用ExecuteNonQuery()曾经有过不同的连接,有什么好主意吗?或者如果设计错了?
public void OpenConnection()
{
try
{
string strSQLSvr = ConfigurationManager.ConnectionStrings["SQLConnStr"].ConnectionString;
string strUsrSvr = ConfigurationManager.ConnectionStrings["usrMaint"].ConnectionString;
conn = new SqlConnection(strSQLSvr);
conn.Open();
}
catch (Exception ex)
{
}
}
public void CloseConnection()
{
try {
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
catch (Exception ex)
{
}
public void ExecuteNonQuery(string strSQL)
{
try
{
OpenConnection();
cmd.CommandText = strSQL;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
}
finally
{
CloseConnection();
}
}
答案 0 :(得分:1)
您可以使用以下设计
public class DatabaseConnection
{
private static DbConnection createSQlConnectionWithDB1()
{
// create a connection with DB1
return new SqlConnection();
}
private static DbConnection createSQlConnectionWithDB2()
{
// create a connection with DB2
return new SqlConnection();
}
public static DbConnection createConnection(string typeOfConnection)
{
if (typeOfConnection.Equals("DB1"))
return createSQlConnectionWithDB1();
if (typeOfConnection.Equals("DB2"))
return createSQlConnectionWithDB2();
return null;
}
}
答案 1 :(得分:0)
您可以根据连接字符串更改在OpenConnection()
函数中创建不同的连接对象。
然后,您只需将连接对象传递给ExecuteNonQuery
函数。
这样就可以了。