手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >自己常用到的自定义公共类(已测试通过)
自己常用到的自定义公共类(已测试通过)
摘要:usingSystem;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Co...

usingSystem;

usingSystem.Data;

usingSystem.Data.SqlClient;

usingSystem.Configuration;

usingSystem.IO;

/*

*AUTHOR:ZHANGLEI

*CREATEDATE:2007.1.5

*功能:BLL层,实现了数据库操作的封装

*并且提供了足够的执行存储过程的参数组合

*DESCRIPTION:本类中用到了方法重载

*ExecuteDataSet方法在本类中实现了四次重载

**/

namespacejob_17

{

///<summary>

///job17的摘要说明。

///</summary>

publicclassjob17

{

privatereadonlystringP_Con=ConfigurationSettings.AppSettings["P_Con"].ToString();

publicjob17()

{

//

//TODO:在此处添加构造函数逻辑

//

}

#region"执行任意参数组合的存储过程"

///<summary>

///命令准备操作,提供足够多的参数组合

///本类中一个比较重要的方法

///</summary>

publicvoidpreparecommand(SqlConnectionmyconn,SqlCommandmycomm,SqlTransactiontrans,CommandTypecmdType,stringcmdText,SqlParameter[]param)//注意里面的参数

{

if(myconn.State!=ConnectionState.Open)

{

myconn.Open();

}

mycomm.Connection=myconn;

mycomm.CommandText=cmdText;

if(trans!=null)

{

mycomm.Transaction=trans;

}

mycomm.CommandType=cmdType;

if(param!=null)

{

foreach(SqlParameterparameterinparam)

{

mycomm.Parameters.Add(parameter);

}

}

}

///<summary>

///第一个返回DataSet类型的ExecuteDataSet方法

///</summary>

publicDataSetExecuteDataSet(SqlConnectionmyconn,CommandTypecmdType,stringcmdText,SqlParameter[]commandpara)

{

SqlCommandmycomm=newSqlCommand();

preparecommand(myconn,mycomm,(SqlTransaction)null,cmdType,cmdText,commandpara);

SqlDataAdapteradpt=newSqlDataAdapter(mycomm);//调用上方的preparecommand方法

DataSetds=newDataSet();

adpt.Fill(ds);

mycomm.Parameters.Clear();

returnds;

}

///<summary>

///第二个返回DataSet类型的ExecuteDataSet方法

///是在第一个方法的基础上实现,实现了ExecuteDataSet方法的重载

///</summary>

publicDataSetExecuteDataSet(stringconnstr,CommandTypecmdType,stringcmdText,SqlParameter[]cmdpara)//方法重载,在第一种的基础上重载,以便提供足够多的参数组合

{

using(SqlConnectionmyconn=newSqlConnection(connstr))

{

returnExecuteDataSet(myconn,cmdType,cmdText,cmdpara);

}

}

///<summary>

///第三个返回DataSet类型的ExecuteDataSet方法

///提供使用存储过程时不带参数的组合

///</summary>

publicDataSetExecuteDataSet(SqlConnectionmyconn,CommandTypecmdType,stringcmdText)

{

returnExecuteDataSet(myconn,cmdType,cmdText,(SqlParameter[])null);

}

///<summary>

///第四个返回DataSet类型的ExecuteDataSet方法

///提供使用存储过程时不带参数的组合

///</summary>

publicDataSetExecuteDataSet(stringconnstr,CommandTypecmdType,stringcmdText)

{

returnExecuteDataSet(connstr,cmdType,cmdText,(SqlParameter[])null);

}

#endregion

#region"执行返回结果的sql语句"

///<summary>

///返回结果的类型为DataTable

///</summary>

publicDataTableExecuteDataTablesql(stringsql)

{

SqlConnectionmyconn=newSqlConnection(P_Con);

SqlDataAdapteradpt=newSqlDataAdapter(sql,myconn);

DataSetds=newDataSet();

adpt.Fill(ds);

returnds.Tables[0];

}

///<summary>

///返回结果的类型为SqlDataReader

///</summary>

publicSqlDataReaderExecuteDataReadersql(stringsql)

{

SqlConnectionmyconn=newSqlConnection(P_Con);

SqlDataReaderdr=null;

SqlCommandmycomm=newSqlCommand(sql,myconn);

try

{

myconn.Open();

dr=mycomm.ExecuteReader();

}

catch

{

//StreamWritersw=newStreamWriter(@"c:err.txt",true,System.Text.Encoding.GetEncoding("GB2312"));

//sw.WriteLine("============================出错信息==========================");

//sw.WriteLine("出错时间:"+DateTime.Now.ToString()+"");

//sw.WriteLine(ex.ToString());

//sw.Close();

throw;

}

returndr;

}

///<summary>

///返回结果的类型为DataSet

///</summary>

publicDataSetExecutesqlDS(stringsql)

{

SqlConnectionmyconn=newSqlConnection(P_Con);

SqlDataAdapteradpt=newSqlDataAdapter(sql,myconn);

DataSetds=newDataSet();

adpt.Fill(ds);

returnds;

}

#endregion

#region"执行不返回结果的sql语句"

///<summary>

///执行不返回结果的sql语句

///</summary>

publicvoidExecuteNonsql(stringsql)

{

SqlConnectionmyconn=newSqlConnection(P_Con);

SqlCommandmycomm=newSqlCommand(sql,myconn);

try

{

myconn.Open();

mycomm.ExecuteNonQuery();

myconn.Close();

}

catch(Exceptione)

{

//StreamWritersw=newStreamWriter(@"c:err.txt",true,System.Text.Encoding.GetEncoding("GB2312"));

//sw.WriteLine("============================出错信息==========================");

//sw.WriteLine("出错时间:"+DateTime.Now.ToString()+"");

//sw.WriteLine(e.ToString());

//sw.Close();

thrownewException(e.Message,e);

}

}

#endregion

#region"启用带事务的sql语句如(insert,update)"

///<summary>

///使用事务处理

///</summary>

publicvoidExecuteTransql(stringsql)

{

SqlConnectionmyconn=newSqlConnection(P_Con);

SqlCommandmycomm=newSqlCommand(sql,myconn);

SqlTransactiontrans=null;

try

{

myconn.Open();

trans=myconn.BeginTransaction();

mycomm.Transaction=trans;

mycomm.ExecuteNonQuery();

trans.Commit();

}

catch(Exceptionex)

{

trans.Rollback();

thrownewException(ex.Message,ex);

}

}

#endregion

}

}

【自己常用到的自定义公共类(已测试通过)】相关文章:

一个ASP.NET获取用户IP地址公共类

TreeView创建IHierarchicalDataSource类型的数据源实现

.net使用自定义类属性实例

list泛型自定义排序示例

获取转向地址的URL的源文件(可自定义REFER)

C#声明方法实例说明

ASP.NET中常用的优化性能的方法

C#Web应用程序入门经典学习笔记之二

asp.net中导出excel数据的方法汇总

几个C#常用正则表达式的总结

精品推荐
分类导航