DBHelpers.cs的两个版本
来源:互联网 发布:游戏本适不适合编程 编辑:程序博客网 时间:2024/06/06 13:06
DBHelpers.cs1
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace DAL
{
public static class DBHelper
{
/// <summary>
/// 从web.config中获得数据库连接字符串
/// </summary>
public static string Connstr
{
get { return ConfigurationManager.ConnectionStrings["conn"].ConnectionString; }
}
#region sql语句部分
/// <summary>
/// 执行sql语句返回DataTable
/// </summary>
/// <param name="sql">安全的sql语句</param>
/// <returns>根据sql语句得到所有记录</returns>
public static DataTable GetDataTable(string sql)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
/// <summary>
/// 执行带参数的sql语句返回DataTable
/// </summary>
/// <param name="sql">带参数的sql语句</param>
/// <param name="values">参数</param>
/// <returns>根据sql语句得到所有记录</returns>
public static DataTable GetDataTable(string sql, params SqlParameter[] values)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.Parameters.AddRange(values);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
/// <summary>
/// 执行无参数的sql语句
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns>影响的行数</returns>
public static int ExecuteCommand(string sql)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
int num = cmd.ExecuteNonQuery();
conn.Close();
return num;
}
}
/// <summary>
/// 执行有参数的sql语句
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="values">参数</param>
/// <returns>影响的行数</returns>
public static int ExecuteCommand(string sql, params SqlParameter[] values)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddRange(values);
conn.Open();
int num = cmd.ExecuteNonQuery();
conn.Close();
return num;
}
}
/// <summary>
/// 执行无参数的sql语句,返回首行首列
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns>返回首行首列</returns>
public static object GetScalar(string sql)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
object obj = cmd.ExecuteScalar();
conn.Close();
return obj;
}
}
/// <summary>
/// 执行有参数的sql语句
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="values">参数</param>
/// <returns>返回首行首列</returns>
public static object GetScalar(string sql, params SqlParameter[] values)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddRange(values);
conn.Open();
object obj = cmd.ExecuteScalar();
conn.Close();
return obj;
}
}
/// <summary>
/// 执行有参数的sql语句,返回首行首列
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="values">参数,是否返回首行首列</param>
/// <returns>返回首行首列</returns>
public static object ExecuteScalar(string sql, params SqlParameter[] values)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddRange(values);
conn.Open();
object obj = cmd.ExecuteScalar();
conn.Close();
return obj;
}
}
/// <summary>
/// 带事务的执行多条sql语句
/// </summary>
/// <param name="sqls"></param>
/// <returns></returns>
public static bool ExecuteCommandByTran(params string[] sqls)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
conn.Open();
//为数据库连接打开事务
SqlTransaction tran = conn.BeginTransaction();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
//为命令对象指定要应用事务
cmd.Transaction = tran;
try
{
for (int i = 0; i < sqls.Length; i++)
{
cmd.CommandText = sqls[i];
cmd.ExecuteNonQuery();
}
//没有异常的情况下,提交事务
tran.Commit();
return true;
}
catch
{
//事务滚回去
tran.Rollback();
return false;
}
finally
{
conn.Close();
}
}
}
#endregion
#region 存储过程部分
/// <summary>
/// 执行sql语句返回DataTable
/// </summary>
/// <param name="sql">安全的sql语句</param>
/// <returns>根据sql语句得到所有记录</returns>
public static DataTable GetDataTableByProcedure(string sql)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
/// <summary>
/// 执行带参数的sql语句返回DataTable
/// </summary>
/// <param name="sql">带参数的sql语句</param>
/// <param name="values">参数</param>
/// <returns>根据sql语句得到所有记录</returns>
public static DataTable GetDataTableByProcedure(string sql, params SqlParameter[] values)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
//指定查询的方式使用存储过程
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
cmd.Parameters.AddRange(values);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
/// <summary>
/// 执行无参数的sql语句
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns>影响的行数</returns>
public static int ExecuteCommandByProcedure(string sql)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
int num = cmd.ExecuteNonQuery();
conn.Close();
return num;
}
}
/// <summary>
/// 执行有参数的sql语句
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="values">参数</param>
/// <returns>影响的行数</returns>
public static int ExecuteCommandByProcedure(string sql, params SqlParameter[] values)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(values);
conn.Open();
int num = cmd.ExecuteNonQuery();
conn.Close();
return num;
}
}
/// <summary>
/// 执行无参数的sql语句,返回首行首列
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns>返回首行首列</returns>
public static object GetScalarByProcedure(string sql)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
object obj = cmd.ExecuteScalar();
conn.Close();
return obj;
}
}
/// <summary>
/// 执行有参数的sql语句,返回首行首列
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="values">参数,是否返回首行首列</param>
/// <returns>返回首行首列</returns>
public static object ExecuteScalarByProcedure(string sql, params SqlParameter[] values)
{
using (SqlConnection conn = new SqlConnection(Connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(values);
conn.Open();
object obj = cmd.ExecuteScalar();
conn.Close();
return obj;
}
}
#endregion
}
}
DBHelpers.cs2
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace BIR.DAL
{
public static class DBHelper
{
private static SqlConnection connection;
public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings["Birthday"].ConnectionString;
connection = new SqlConnection(connectionString);
if (connection == null)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
public static int ExecuteCommand(string sql, params SqlParameter[] values) public static string ReturnStringScalar(string safeSql) public static int GetScalar(string safeSql) public static SqlDataReader GetReader(string safeSql) public static SqlDataReader GetReader(string sql, params SqlParameter[] values) public static DataTable GetDataSet(string safeSql) public static DataTable GetDataSet(string sql, params SqlParameter[] values) }
public static int ExecuteCommand(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;
}
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
}
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
try
{
string result = cmd.ExecuteScalar().ToString();
return result;
}
catch (Exception e)
{
return "0";
}
connection.Close();
}
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
try
{
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
catch (Exception e)
{
return 0;
}
connection.Close();
}
public static int GetScalar(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
connection.Close();
}
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
reader.Close();
reader.Dispose();
}
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
reader.Close();
reader.Dispose();
}
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
connection.Close();
connection.Dispose();
return ds.Tables[0];
}
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
connection.Close();
connection.Dispose();
return ds.Tables[0];
}
}
- DBHelpers.cs的两个版本
- "孔乙己"CS版本
- 巧妙运用Dreamweaver CS版本里面的spry面板
- JDeveloper的两个版本链接
- 表达式求值的两个版本
- CArray::operator [ ] 的两个版本
- 两个版本的二分查找
- 两个版本的快速排序
- 对比两个不同版本的assertEquals()
- 两个版本的oracle切换使用
- MoonShell2两个版本的临时更新
- U-boot添加命令的两个版本
- java查看磁盘空间的两个版本
- jQuery两个稳定版本的比较
- 两个相同版本的TomCat同时运行
- 显示两个版本间的差异
- 对比两个不同版本的assertEquals()
- 两个VirtualBox版本装的语言不一样?
- 在 Visual C++ 中 建 立 MFC 扩 展 DLL
- 关于VC中的DLL的编程
- USE 感光蓝油 做PCB
- “超限效应”和“改宗心理效应”
- 剖析插件技术
- DBHelpers.cs的两个版本
- UML用例图 解析。。
- 在ActiveX控件中如何动态调用DLL函数
- C++ 输入/输出(I/O)
- vic的jsp總結1
- 一个自己写的Access查询分析器。
- C/C++ 内存分配方式,堆区,栈区,new/delete/malloc/free
- 中国营销杀手独门暗器揭秘
- vs2010错误