如题,想了解一般公司里面的DBHelper类或SQLHelper类完整的代码,
虽然说大都都是大同小异,还是想清楚的了解了解,有的请贴代码,多谢!
虽然说大都都是大同小异,还是想清楚的了解了解,有的请贴代码,多谢!
解决方案 »
- visual studio 2008 安装时遇到cab57.cab具有无效的数字签名的错误
- ASPX页面写IF语句怎么写(IF判断)
- iis7.0运行webservice 出错!大家来看看
- 新手发帖
- 关于连接数据库的问题等2个问题.~~~~~~
- 极度郁闷中,资源消耗过多?
- cookie是否应当判断变量是否存在?
- 数据绑定问题
- 为什么我用DataGrid做翻页时,翻到第2页很好,可翻到第三页时就翻不过去了???
- Web应用程序中ReportDocument的PrintToPrinter方法打印的问题
- Gridview 里面加 div CSS设计了怎么不管用
- 求救!!!!~~~~~~~~~是不是让挂马了???怎么办?
using System.Collections.Generic;
using System.Text;using System.Data;
using System.Data.SqlClient;
using System.Configuration;namespace SqlServerDAL
{
public abstract class DBHelper
{
//数据库连接字符串
public static readonly string connString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
/// <summary>
/// 要执行:预定义Command对象(Prepare Command)
/// </summary>
/// <param name="cmd">SqlCommand 对象</param>
/// <param name="conn">SqlConnection 对象</param>
/// <param name="trans">SqlTransaction 对象</param>
/// <param name="commandType">命令类别:存储过程、文本字符串等</param>
/// <param name="commandText">存储过程名称或SQL命令文本,如:select * from UserTab</param>
/// <param name="cmdParms">Command对象需要使用的参数列表</param>
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{ if (conn.State != ConnectionState.Open)
conn.Open(); cmd.Connection = conn;
cmd.CommandText = cmdText; if (trans != null)
cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
} /// <summary>
/// 通过连接字符串,执行SqlCommand(不返回结果集)
/// </summary>
/// <param name="connString">为SqlConnection对象提供:一个有效的连接字符串</param>
/// <param name="cmdType">命令类别:存储过程、文本字符串等</param>
/// <param name="cmdText">存储过程名称或SQL命令文本</param>
/// <param name="cmdParams">执行命令的参数列表</param>
/// <returns>执行命令受影响的记录条数</returns>
public static int ExecuteNonQuery(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParams)
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection con = new SqlConnection(connString))
{
PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParams);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
} /// <summary>
/// 通过连接字符串,执行SqlCommand(返回结果集)
/// </summary>
/// <param name="connString">为SqlConnection对象提供:一个有效的连接字符串</param>
/// <param name="cmdType">命令类别:存储过程、文本字符串等</param>
/// <param name="cmdText">存储过程名称或SQL命令文本</param>
/// <param name="cmdParams">执行命令的参数列表</param>
/// <returns>包含结果集的一个:SqlDataReader对象</returns>
public static SqlDataReader ExecuteReader(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParams)
{
SqlCommand cmd = new SqlCommand();
SqlConnection con = new SqlConnection(connString);
try
{
PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParams);
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return dr;
}
catch
{
con.Close();
throw;
}
} /// <summary>
/// 返回第一条记录的第一列
/// </summary>
/// <param name="cmdText"></param>
/// <param name="type"></param>
/// <param name="parms"></param>
/// <returns></returns>
public static object ExecuteScalar(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParams)
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection con = new SqlConnection(connString))
{
PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParams);
object obj = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return obj;
}
} /// <summary>
/// 双向操作
/// </summary>
/// <param name="connString">为SqlConnection对象提供:一个有效的连接字符串</param>
/// <param name="cmdType">命令类别:存储过程、文本字符串等</param>
/// <param name="cmdText">存储过程名称或SQL命令文本</param>
/// <param name="cmdParams">执行命令的参数列表</param>
/// <returns>返回一个数据集</returns>
public static DataSet getDateSet(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParams)
{
DataSet dt = new DataSet();
SqlCommand cmd = new SqlCommand();
using (SqlConnection con = new SqlConnection(connString))
{
try
{
PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParams);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
}
catch (Exception ex)
{
throw new ApplicationException("数据访问双向操作失败!", ex);
}
return dt;
}
}
}
}