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

ASP.NET
asp.net 动态生成表格
asp.net 程序优化精选
DataGridView自动调整行高和行宽
asp.net+js实现的ajax sugguest搜索提示效果
asp.net 将设有过期策略的项添加到缓存中
asp.net SqlDataAdapter对象使用札记
DataGrid 动态添加模板列 实现代码
asp.net 设置GridView的选中行
the sourcesafe database has been locked by the administrator之解决方法
asp.net 退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)
Asp.Net HttpHandler 妙用
ASP.NET 保留文件夹详解
asp.net 中将表单提交到另一页 Code-Behind(代码和html在不同的页面)
SqlDataSource 链接Access 数据
asp.net GridView的删除对话框的两种方法
asp.net 按字节检查包含全半角的文字
asp.net String.IsNullOrEmpty 方法
asp.net System.Net.Mail 发送邮件
c# 读取文件内容存放到int数组 array.txt
asp.net Split分割字符串的方法

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


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