当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 自己常用到的自定义公共类(已测试通过)

ASP.NET
深入理解__doPostBack 客户端调用服务端事件
asp.net(c#)利用构造器链的代码
asp.net Repeater绑定时使用函数
asp.net下linkbutton的前后台使用方法
ASP.NET编程中经常用到的27个函数集
asp.net高效替换大容量字符实现代码
asp.net(c#) ubb处理类
ASP.NET中的跳转 200, 301, 302转向实现代码
C#中的委托和事件学习(续)
asp.net网站安全从小做起与防范小结
asp.net 网页编码自动识别代码
asp.net HttpWebRequest自动识别网页编码
asp.net中调用winrar实现压缩解压缩的代码
dz asp.net论坛中函数--根据Url获得源文件内容
.NET 扩展实现代码
用Jquery访问WebService并返回Json的代码
asp.net(c#)判断远程图片是否存在
asp.net保存远程图片的代码
Asp.Net类库中发送电子邮件的代码
ASP.NET表单验证方法详解

ASP.NET 中的 自己常用到的自定义公共类(已测试通过)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 78 ::
收藏到网摘: n/a

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;
/*
* AUTHOR:ZHANGLEI
* CREATE DATE:2007.1.5
* 功能:BLL层,实现了数据库操作的封装
* 并且提供了足够的执行存储过程的参数组合
* DESCRIPTION:本类中用到了方法重载
* ExecuteDataSet方法在本类中实现了四次重载
* */
namespace job_17
{
/// <summary>
/// job17 的摘要说明。
/// </summary>
public class job17
{
private readonly string P_Con=ConfigurationSettings.AppSettings["P_Con"].ToString();
public job17()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#region "执行任意参数组合的存储过程"
/// <summary>
/// 命令准备操作,提供足够多的参数组合
/// 本类中一个比较重要的方法
/// </summary>
public void preparecommand(SqlConnection myconn,SqlCommand mycomm,SqlTransaction trans,CommandType cmdType,string cmdText,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(SqlParameter parameter in param)
{
mycomm.Parameters.Add(parameter);
}
}
}
/// <summary>
/// 第一个返回DataSet类型的ExecuteDataSet方法
/// </summary>
public DataSet ExecuteDataSet(SqlConnection myconn,CommandType cmdType,string cmdText,SqlParameter[] commandpara)
{
SqlCommand mycomm=new SqlCommand();
preparecommand(myconn,mycomm,(SqlTransaction)null,cmdType,cmdText,commandpara);
SqlDataAdapter adpt=new SqlDataAdapter(mycomm); //调用上方的preparecommand方法
DataSet ds=new DataSet();
adpt.Fill(ds);
mycomm.Parameters.Clear();
return ds;
}
/// <summary>
/// 第二个返回DataSet类型的ExecuteDataSet方法
/// 是在第一个方法的基础上实现,实现了ExecuteDataSet方法的重载
/// </summary>
public DataSet ExecuteDataSet (string connstr,CommandType cmdType,string cmdText,SqlParameter[] cmdpara)//方法重载,在第一种的基础上重载,以便提供足够多的参数组合
{
using(SqlConnection myconn=new SqlConnection(connstr))
{
return ExecuteDataSet(myconn,cmdType,cmdText,cmdpara);
}
}
/// <summary>
/// 第三个返回DataSet类型的ExecuteDataSet方法
/// 提供使用存储过程时不带参数的组合
/// </summary>
public DataSet ExecuteDataSet(SqlConnection myconn,CommandType cmdType,string cmdText)
{
return ExecuteDataSet(myconn,cmdType,cmdText,(SqlParameter[])null);
}
/// <summary>
/// 第四个返回DataSet类型的ExecuteDataSet方法
/// 提供使用存储过程时不带参数的组合
/// </summary>
public DataSet ExecuteDataSet (string connstr,CommandType cmdType,string cmdText)
{
return ExecuteDataSet(connstr,cmdType,cmdText,(SqlParameter[])null);
}
#endregion
#region "执行返回结果的sql语句"
/// <summary>
/// 返回结果的类型为DataTable
/// </summary>
public DataTable ExecuteDataTablesql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlDataAdapter adpt=new SqlDataAdapter(sql,myconn);
DataSet ds=new DataSet();
adpt.Fill(ds);
return ds.Tables[0];
}
/// <summary>
/// 返回结果的类型为SqlDataReader
/// </summary>
public SqlDataReader ExecuteDataReadersql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlDataReader dr=null;
SqlCommand mycomm=new SqlCommand(sql,myconn);
try
{
myconn.Open();
dr=mycomm.ExecuteReader();
}
catch
{
// StreamWriter sw=new StreamWriter(@"c:\err.txt",true,System.Text.Encoding.GetEncoding("GB2312"));
// sw.WriteLine("============================出错信息==========================");
// sw.WriteLine("出错时间:"+DateTime.Now.ToString()+"");
// sw.WriteLine(ex.ToString());
// sw.Close();
throw;
}
return dr;
}
/// <summary>
/// 返回结果的类型为DataSet
/// </summary>
public DataSet ExecutesqlDS(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlDataAdapter adpt=new SqlDataAdapter (sql,myconn);
DataSet ds=new DataSet();
adpt.Fill(ds);
return ds;
}
#endregion
#region "执行不返回结果的sql语句"
/// <summary>
/// 执行不返回结果的sql语句
/// </summary>
public void ExecuteNonsql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlCommand mycomm=new SqlCommand(sql,myconn);
try
{
myconn.Open();
mycomm.ExecuteNonQuery();
myconn.Close();
}
catch(Exception e)
{
// StreamWriter sw=new StreamWriter(@"c:\err.txt",true,System.Text.Encoding.GetEncoding("GB2312"));
// sw.WriteLine("============================出错信息==========================");
// sw.WriteLine("出错时间:"+DateTime.Now.ToString()+"");
// sw.WriteLine(e.ToString());
// sw.Close();
throw new Exception(e.Message,e);
}
}
#endregion
#region "启用带事务的sql语句如(insert,update)"
/// <summary>
/// 使用事务处理
/// </summary>
public void ExecuteTransql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlCommand mycomm=new SqlCommand(sql,myconn);
SqlTransaction trans=null;
try
{
myconn.Open();
trans=myconn.BeginTransaction();
mycomm.Transaction=trans;
mycomm.ExecuteNonQuery();
trans.Commit();
}
catch(Exception ex)
{
trans.Rollback();
throw new Exception(ex.Message,ex);
}
}
#endregion
}
}