MyException - 我的异常网
当前位置:我的异常网» C# » 怎么写连接类更为合适

怎么写连接类更为合适(3)

www.MyException.Cn  网友分享于:2013-12-15  浏览:9次

{
/// <summary>
/// Description of MSConnection.
/// </summary>
public class MSConnection : IConnection
{
private static SqlConnection conn = null; //new SqlConnection( "Data Source=10.9.162.24;UID=sa;PWD=0;DataBase=uu ");

public MSConnection()
{
}
public void getConnection(string strConnection)
{
try
{
conn = new SqlConnection();
conn.ConnectionString = strConnection;
conn.Open();
}
catch (Exception ex)
{
throw new Exception(ex.StackTrace);
}
//return conn;
}

public DataTable execQuery(string SQLString){
DataTable dt = new DataTable();
try
{

SqlDataAdapter command = new SqlDataAdapter(SQLString,conn);
command.Fill(dt);
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
return dt;
}

}
}
简单工厂模式,通过setType()方法改变取得某种数据库连接。
你的SQL执行方法也可以通过这样来写。
namespace FactoryModel
{

enum SQLType{
SERVER = 1,
ORACLE
}
/// <summary>
/// Description of ConnFactory.
/// </summary>
public class ConnFaction
{

int type ;
static ConnFaction connFact = null;
private ConnFaction(){}
public static ConnFaction getInstance(){
connFact = new ConnFaction();
return connFact;
}
public int setType{
set{
type = value;
}
get{
return this.type;
}
}
public IConnection doConn(){
IConnection ic = null;
switch(type){
case (int)SQLType.SERVER :
ic = new MSConnection();
break;
case (int)SQLType.ORACLE:
ic = new 另外的一个实现(); break;
default:
ic = new 默认的实现方法(); break;
}
return ic;
}

}
}

不知道是不是你想要的。
------解决方案--------------------
你可以借鉴一下petshop,按我的理解数据库的连接主要注意几点:
1、晚打开,早关闭
2、要用数据库的连接池
3、要有缓存机制。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有