技术:ADO.NET+ASP.NET+三层结构
控件:GridView、DataList、Repeter均可
控件:GridView、DataList、Repeter均可
解决方案 »
- asp.net ajax 之gridview updating 问题!在线等!
- TripleDESCryptoServiceProvider 异常
- Microsoft Enterprise Library Caching Application Block是分布式的吗
- 求助啊 新人没分 请进来看看啊
- 我网站发布到空间后,查不到数据
- 初学ASP.net看哪本书比较好?
- 在线等,关于DataList的问题?请各位大侠帮忙,谢谢!!!
- 请问哪里能下北大青鸟asp.net2.0的视频教程
- 初学者100分请教。数据绑定,一样的代码用记事本可以实现,在VS.net2003中却不行。
- 怎么把数据库里的“true/false”转换为“男/女”然后赋值给datalist?
- kindeditor 上传图片问题
- c# url重写
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
namespace Dals
{
public class DBHelper
{
public string connstr = ConfigurationManager.ConnectionStrings["db1"].ConnectionString;
private SqlConnection _conn;
public SqlConnection Conn
{
get
{
if (_conn == null)
_conn = new SqlConnection(connstr);
return _conn;
}
}
/// <summary>
/// 封装增删改操作代码
/// </summary>
/// <param name="sql">要执行的SQL语句或者存储过程名称</param>
/// <param name="type">命令类型</param>
/// <param name="paras">参数数组</param>
/// <returns></returns>
public bool ExecuteNonQuery(string sql, CommandType type, params SqlParameter[] paras)
{
int result = 0;
try
{
SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.CommandType = type;
//判断是否存在参数
if (paras != null && paras.Length > 0)
cmd.Parameters.AddRange(paras); Conn.Open();
result = cmd.ExecuteNonQuery();
}
catch
{ }
finally
{
Conn.Close();
}
return result > 0 ? true : false;
}
/// <summary>
/// 返回单行单列
/// </summary>
/// <param name="sql">要执行的SQL语句或者存储过程名称</param>
/// <param name="type">命令类型</param>
/// <param name="paras">参数数组</param>
/// <returns></returns>
public object ExecuteScale(string sql, CommandType type, params SqlParameter[] paras)
{
object result = null;
try
{
SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.CommandType = type;
//判断是否存在参数
if (paras != null && paras.Length > 0)
cmd.Parameters.AddRange(paras);
Conn.Open();
result = cmd.ExecuteScalar();
}
catch { }
finally
{
Conn.Close();
}
return result;
}
/// <summary>
/// 返回DataReader,需要注意,获取完数据后,必须关闭DataReader对象
/// </summary>
/// <param name="sql">要执行的SQL语句或者存储过程名称</param>
/// <param name="type">命令类型</param>
/// <param name="paras">参数数组</param>
/// <returns></returns>
public SqlDataReader ExecuteDataReader(string sql, CommandType type, params SqlParameter[] paras)
{
SqlDataReader read = null;
try
{
SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.CommandType = type;
//判断是否存在参数
if (paras != null && paras.Length > 0)
cmd.Parameters.AddRange(paras);
Conn.Open();
//CommandBehavior.CloseConnection:关闭DataReader对象时,自动关闭相应的连接池对象
read = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{ }
return read;
}
/// <summary>
/// 返回DataSet
/// </summary>
/// <param name="sql">要执行的SQL语句或者存储过程名称</param>
/// <param name="type">命令类型</param>
/// <param name="paras">参数数组</param>
/// <returns></returns>
public DataSet ExecuteDataSet(string sql, CommandType type, params SqlParameter[] paras)
{
DataSet ds = new DataSet();
try
{
SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.CommandType = type;
//判断是否存在参数
if (paras != null && paras.Length > 0)
cmd.Parameters.AddRange(paras);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
}
catch { }
return ds;
}
/// <summary>
/// 封装带事务的增删改操作代码
/// </summary>
/// <returns></returns>
public bool ExecuteNonQuery(string sql, SqlConnection tranconn, SqlTransaction tran, CommandType type, params SqlParameter[] paras)
{
int result = 0;
try
{
SqlCommand cmd = new SqlCommand(sql, tranconn);
cmd.Transaction = tran;
cmd.CommandType = type;
//判断是否存在参数
if (paras != null && paras.Length > 0)
cmd.Parameters.AddRange(paras); result = cmd.ExecuteNonQuery();
}
catch
{ }
return result > 0 ? true : false;
}
}
}