- usingSystem;
- usingSystem.Collections.Generic;
- usingSystem.Text;
- usingSystem.Data;
- usingSystem.Data.SqlClient;
- usingSystem.Configuration;
- usingSystem.Data.OleDb;
- /*
- ***************************************
- **
- *作者:GhostBear*
- *博客:http://blog.youkuaiyun.com/ghostbear*
- **
- ***************************************
- */
- namespaceAdoNetOmnipotence
- {
- ///<summary>
- ///操纵Ado.net的通用类(sql和oledb)
- ///</summary>
- publicclassOmnipotence
- {
- boolisSqlClient=true;//判断调用sqlclient还是oledb
- stringconnstr;//连接字符串
- SqlConnectionsconn=null;
- OleDbConnectionoconn=null;
- ///<summary>
- ///初始化字符串
- ///</summary>
- ///<paramname="connectionstring">连接字符串</param>
- publicOmnipotence(stringconnectionstring)
- {
- this.connstr=connectionstring;
- }
- ///<summary>
- ///指定连接字符串和操纵的目标
- ///</summary>
- ///<paramname="connectionstring">连接字符串</param>
- ///<paramname="issqlClient">操纵的目标</param>
- publicOmnipotence(stringconnectionstring,boolissqlClient)
- {
- this.connstr=connectionstring;
- this.isSqlClient=issqlClient;
- }
- ///<summary>
- ///打开连接
- ///</summary>
- privatevoidOpen()
- {
- if(isSqlClient)
- {
- if(sconn==null)
- sconn=newSqlConnection(connstr);
- if(sconn.State==ConnectionState.Closed)
- sconn.Open();
- }
- else
- {
- if(oconn==null)
- oconn=newOleDbConnection(connstr);
- if(oconn.State==ConnectionState.Closed)
- oconn.Open();
- }
- }
- ///<summary>
- ///关闭连接
- ///</summary>
- privatevoidClose()
- {
- if(isSqlClient)
- {
- if(sconn!=null)
- if(sconn.State==ConnectionState.Open)
- sconn.Close();
- }
- else
- {
- if(oconn!=null)
- if(oconn.State==ConnectionState.Open)
- oconn.Close();
- }
- }
- /*
- ***************************************
- **
- *作者:GhostBear*
- *博客:http://blog.youkuaiyun.com/ghostbear*
- **
- ***************************************
- */
- ///<summary>
- ///返回command对象,可以是sqlcommand或oledbcommand
- ///</summary>
- ///<paramname="sqlcmd">命令</param>
- ///<paramname="isStored">是否存储过程</param>
- ///<paramname="param">参数</param>
- ///<returns>一个装箱的command对象</returns>
- privateobjectcommand(stringsqlcmd,boolisStored,IDataParameter[]param)
- {
- if(isSqlClient)
- {
- SqlCommandcmd=newSqlCommand(sqlcmd);//初始化command
- cmd.Connection=sconn;//赋予连接对象
- if(isStored)
- cmd.CommandType=CommandType.StoredProcedure;//赋予命令类型
- else
- cmd.CommandType=CommandType.Text;
- if(param!=null)
- {
- foreach(SqlParametertinparam)
- {
- cmd.Parameters.Add(t);//参数数据库不为空则添加参数
- }
- }
- returncmd;//返回sqlcommand
- }
- else
- {
- OleDbCommandcmd=newOleDbCommand(sqlcmd);//初始化command
- cmd.Connection=oconn;//赋予连接对象
- if(isStored)
- cmd.CommandType=CommandType.StoredProcedure;//赋予命令类型
- else
- cmd.CommandType=CommandType.Text;
- if(param!=null)
- {
- foreach(OleDbParametertinparam)
- {
- cmd.Parameters.Add(t);//参数数据库不为空则添加参数
- }
- }
- returncmd;//返回Oledbcommand
- }
- }
- ///<summary>
- ///返回dataadapt对象
- ///</summary>
- ///<paramname="command">command对象</param>
- ///<returns>一个装箱的dataadapter对象</returns>
- privateobjectadapter(objectcommand)//返回DataAdpter类型的对象
- {
- objectadpt;
- if(isSqlClient)
- {
- adpt=newSqlDataAdapter((SqlCommand)command);
- }
- else
- {
- adpt=newOleDbDataAdapter((OleDbCommand)command);
- }
- returnadpt;
- }
- ///<summary>
- ///执行操作。返回影响的行数
- ///</summary>
- ///<paramname="sqlcmd">sql语句或存储过程名</param>
- ///<paramname="isStored">是否为存储过程</param>
- ///<returns>语句执行影响的行数</returns>
- /*
- ***************************************
- **
- *作者:GhostBear*
- *博客:http://blog.youkuaiyun.com/ghostbear*
- **
- ***************************************
- */
- publicvoidRunProc(stringsqlcmd,boolisStored,outintinfectionRows)
- {
- SqlCommandscmd;
- OleDbCommandocmd;
- Open();
- if(isSqlClient)
- {
- scmd=(SqlCommand)command(sqlcmd,isStored,null);
- infectionRows=scmd.ExecuteNonQuery();
- Close();
- }
- else
- {
- ocmd=(OleDbCommand)command(sqlcmd,isStored,null);
- infectionRows=ocmd.ExecuteNonQuery();
- Close();
- }
- return;
- }
- ///<summary>
- ///执行操作。返回影响的行数
- ///</summary>
- ///<paramname="sqlcmd">sql语句或存储过程名</param>
- ///<paramname="isStored">是否为存储过程</param>
- ///<paramname="param">执行所需要的参数</param>
- ///<returns>操作影响的行数</returns>
- publicvoidRunProc(stringsqlcmd,boolisStored,IDataParameter[]param,outintinfectionRows)
- {
- SqlCommandscmd;
- OleDbCommandocmd;
- Open();
- if(isSqlClient)
- {
- scmd=(SqlCommand)command(sqlcmd,isStored,param);
- infectionRows=scmd.ExecuteNonQuery();
- Close();
- }
- else
- {
- ocmd=(OleDbCommand)command(sqlcmd,isStored,param);
- infectionRows=ocmd.ExecuteNonQuery();
- Close();
- }
- return;
- }
- /*
- ***************************************
- **
- *作者:GhostBear*
- *博客:http://blog.youkuaiyun.com/ghostbear*
- **
- ***************************************
- */
- ///<summary>
- ///返回数据集合中第一行第一列中的值
- ///</summary>
- ///<paramname="sqlcmd">sql语句或存储过程名</param>
- ///<paramname="isStored">是否存储过程</param>
- ///<paramname="isReturnContetn">返回值</param>
- ///<returns></returns>
- publicvoidRunProc(stringsqlcmd,boolisStored,outobjectisReturnContent)
- {
- SqlCommandscmd;
- OleDbCommandocmd;
- Open();
- if(isSqlClient)
- {
- scmd=(SqlCommand)command(sqlcmd,isStored,null);
- isReturnContent=scmd.ExecuteScalar();
- Close();
- }
- else
- {
- ocmd=(OleDbCommand)command(sqlcmd,isStored,null);
- isReturnContent=ocmd.ExecuteScalar();
- Close();
- }
- return;
- }
- ///<summary>
- ///返回数据集合中第一行第一列中的值
- ///</summary>
- ///<paramname="sqlcmd">sql语句或存储过程名</param>
- ///<paramname="isStored">是否存储过程</param>
- ///<paramname="param">参数集合</param>
- ///<paramname="isReturnContent">返回值</param>
- ///<returns></returns>
- publicvoidRunProc(stringsqlcmd,boolisStored,IDataParameter[]param,outobjectisReturnContent)
- {
- SqlCommandscmd;
- OleDbCommandocmd;
- Open();
- if(isSqlClient)
- {
- scmd=(SqlCommand)command(sqlcmd,isStored,param);
- isReturnContent=scmd.ExecuteScalar();
- Close();
- }
- else
- {
- ocmd=(OleDbCommand)command(sqlcmd,isStored,param);
- isReturnContent=ocmd.ExecuteScalar();
- Close();
- }
- return;
- }
- /*
- ***************************************
- **
- *作者:GhostBear*
- *博客:http://blog.youkuaiyun.com/ghostbear*
- **
- ***************************************
- */
- ///<summary>
- ///返回sqldatareader对象
- ///</summary>
- ///<paramname="sqlcmd">sql语句或存储过程</param>
- ///<paramname="isStored">是否存储过程</param>
- ///<paramname="reader">输出sqldatareader的out参数</param>
- publicvoidRunProc(stringsqlcmd,boolisStored,outSqlDataReaderreader)
- {
- SqlCommandscmd;
- Open();
- scmd=(SqlCommand)command(sqlcmd,isStored,null);
- reader=scmd.ExecuteReader(CommandBehavior.CloseConnection);
- return;
- }
- ///<summary>
- ///返回oledbdatareader对象
- ///</summary>
- ///<paramname="sqlcmd">sql语句或存储过程</param>
- ///<paramname="isStored">是否存储过程</param>
- ///<paramname="reader">输出oledbdatareader的out参数</param>
- publicvoidRunProc(stringsqlcmd,boolisStored,outOleDbDataReaderreader)
- {
- OleDbCommandocmd;
- Open();
- ocmd=(OleDbCommand)command(sqlcmd,isStored,null);
- reader=ocmd.ExecuteReader(CommandBehavior.CloseConnection);
- return;
- }
- ///<summary>
- ///返回oledbdatareader对象
- ///</summary>
- ///<paramname="sqlcmd">sql语句或存储过程</param>
- ///<paramname="isStored">是否存储过程</param>
- ///<paramname="param">命令的参数</param>
- ///<paramname="reader">输出oledbdatareader的out参数</param>
- publicvoidRunProc(stringsqlcmd,boolisStored,IDataParameter[]param,outSqlDataReaderreader)
- {
- SqlCommandscmd;
- Open();
- scmd=(SqlCommand)command(sqlcmd,isStored,param);
- reader=scmd.ExecuteReader(CommandBehavior.CloseConnection);
- return;
- }
- ///<summary>
- ///返回oledbdatareader对象
- ///</summary>
- ///<paramname="sqlcmd">sql语句或存储过程名</param>
- ///<paramname="isStored">是否存储过程</param>
- ///<paramname="param">命令参数</param>
- ///<paramname="reader">输出参数</param>
- publicvoidRunProc(stringsqlcmd,boolisStored,IDataParameter[]param,outOleDbDataReaderreader)
- {
- OleDbCommandocmd;
- Open();
- ocmd=(OleDbCommand)command(sqlcmd,isStored,param);
- reader=ocmd.ExecuteReader(CommandBehavior.CloseConnection);
- return;
- }
- /*
- ***************************************
- **
- *作者:GhostBear*
- *博客:http://blog.youkuaiyun.com/ghostbear*
- **
- ***************************************
- */
- ///<summary>
- ///返回dataset对象
- ///</summary>
- ///<paramname="sqlcmd">sql语句或命令</param>
- ///<paramname="isStored">是否存储过程</param>
- ///<paramname="ds">输出参数</param>
- publicvoidRunProc(stringsqlcmd,boolisStored,outDataSetds)
- {
- SqlDataAdaptersadpt=null;
- OleDbDataAdapteroadpt=null;
- DataSetmyds=newDataSet();
- if(isSqlClient)
- {
- Open();
- sadpt=(SqlDataAdapter)adapter(command(sqlcmd,isStored,null));
- sadpt.Fill(myds);
- Close();
- }
- else
- {
- Open();
- oadpt=(OleDbDataAdapter)adapter(command(sqlcmd,isStored,null));
- oadpt.Fill(myds);
- Close();
- }
- ds=myds;
- return;
- }
- /*
- ***************************************
- **
- *作者:GhostBear*
- *博客:http://blog.youkuaiyun.com/ghostbear*
- **
- ***************************************
- */
- ///<summary>
- ///返回dataset对象
- ///</summary>
- ///<paramname="sqlcmd">sql语句或命令</param>
- ///<paramname="isStored">是否存储过程</param>
- ///<paramname="param">参数</param>
- ///<paramname="ds">输出dataset</param>
- publicvoidRunProc(stringsqlcmd,boolisStored,IDataParameter[]param,outDataSetds)
- {
- SqlDataAdaptersadpt=null;
- OleDbDataAdapteroadpt=null;
- DataSetmyds=newDataSet();
- if(isSqlClient)
- {
- Open();
- sadpt=(SqlDataAdapter)adapter(command(sqlcmd,isStored,param));
- sadpt.Fill(myds);
- Close();
- }
- else
- {
- Open();
- oadpt=(OleDbDataAdapter)adapter(command(sqlcmd,isStored,param));
- oadpt.Fill(myds);
- Close();
- }
- ds=myds;
- return;
- }
- }
- }
一个支持SqlClient和OleDb的ADO.NET常用操作通用类
最新推荐文章于 2024-11-28 03:28:58 发布