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

ASP.NET
ASP.NET 多附件上传实现代码
asp.net 类库中使用ConfigurationManager.ConnectionStrings
asp.net AjaxControlToolKit--TabContainer控件的介绍
ASP.NET环境下为网站增加IP过滤功能
asp.net访问Access数据库溢出错误
ASP.NET AJAX 4.0的模版编程(Template Programming)介绍
asp.net StringBuilder的用法 实例代码
asp.net Accee数据库连接不稳定解决方案
ASP.NET2.0 SQL Server数据库连接详解
asp.net Repeater之非常好的数据分页
C# 生转换网页为pdf
浅谈ASP.NET的Postback 实例代码
asp.net Ext grid 显示列表
通过ASP.net实现flash对数据库的访问
如何创建一个AJAXControlToolKit的扩展控件
asp.net 简单验证码验证实现代码
asp.net 在客户端显示服务器端任务处理进度条的探讨
Asp.net treeview实现无限级树实现代码
asp.net INI文件读写类
asp.net下检测SQL注入式攻击代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 185 ::
收藏到网摘: 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
}
}