快讯

使用设计模式构建通用数据库访问类

2004-02-14 09:34  出处:PConline  作者:佚名  责任编辑:ycx 

OleDb数据库操作的类同Sql Server数据库操作的类非常相似,只是把相应的Sql类替换成OleDb类。需要注意的是,因为OleDb和Sql Server的参数传递方式不一致,所以,这里需要做一点小小的转换,将"@参数名"类型的参数转换成"?",这个细节希望读者能够注意到。代码如下: internal class OleDBOperator : DBOperator { private OleDbConnection conn; private OleDbTransaction trans; private bool inTransaction=false; public OleDBOperator(string strConnection) {  this.conn= new OleDbConnection(strConnection); } public override IDbConnection Connection {  get{return this.conn;} } public override void Open() { if(conn.State.ToString().ToUpper()!="OPEN") this.conn.Open(); } public override void Close() {   if (conn.State.ToString().ToUpper()=="OPEN") this.conn.Close(); } public override void BeginTrans() {   trans=conn.BeginTransaction() ;    inTransaction=true; } public override void CommitTrans() {   trans.Commit();   inTransaction=false; } public override void RollbackTrans() {   trans.Rollback();   inTransaction=false; } public override void exeSql(string strSql,string[] strParams,object[] strValues) { OleDbCommand cmd=new OleDbCommand();   cmd.Connection=this.conn ; if(inTransaction)   cmd.Transaction=trans; if((strParams!=null)&&(strParams.Length!=strValues.Length) ) throw new ParamValueNotMatchException("查询参数和值不对应!"); cmd.CommandText=this.ChangeQueryString(strSql); if(strParams!=null) { for(int i=0;i
键盘也能翻页,试试“← →”键
IT热词搜索 来源:360新闻
软件论坛帖子排行
相关文章

相关软件:

腾讯QQ2012
大小:52.93 MB 授权:免费
腾讯QQ2012
立即下载
腾讯QQ2013
大小:49.32 MB 授权:免费
腾讯QQ2013
立即下载