namespace Mode.DAL
{
public static class DBHelper
{ private static SqlConnection connection;
public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings ["MyBookShop"].ConnectionString;
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection!=null)
{
if(connection.State!= ConnectionState.Closed){
connection.Close();
connection.Open();
}
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
public static int ExecuteCommand(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;
} public static int ExecuteCommand(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
} public static int GetScalar(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
} 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;
}
public static int GetScalar(string sql,CommandType type, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.CommandType = type;
cmd.Parameters.AddRange(values);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
public static SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
} public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
public static SqlDataReader GetReader(string sql,CommandType type ,params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.CommandType = type;
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
public static DataTable GetDataSet(string safeSql)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
} public static DataTable GetDataSet(string sql, params SqlParameter[] values)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
} }
}
{
public static class DBHelper
{ private static SqlConnection connection;
public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings ["MyBookShop"].ConnectionString;
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection!=null)
{
if(connection.State!= ConnectionState.Closed){
connection.Close();
connection.Open();
}
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
public static int ExecuteCommand(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;
} public static int ExecuteCommand(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
} public static int GetScalar(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
} 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;
}
public static int GetScalar(string sql,CommandType type, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.CommandType = type;
cmd.Parameters.AddRange(values);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
public static SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
} public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
public static SqlDataReader GetReader(string sql,CommandType type ,params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.CommandType = type;
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
public static DataTable GetDataSet(string safeSql)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
} public static DataTable GetDataSet(string sql, params SqlParameter[] values)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
} }
}
http://blog.csdn.net/LCL_data/archive/2009/07/19/4361258.aspx
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web;
//using System.Web.Security;namespace Magitek.DAL
{
/// <summary>
/// 数据访问公共类
/// </summary>
public class DBHelper
{
private SqlConnection connection; //数据库连接 /// <summary>
/// 不带参数初始化 DBHelper 类的新实例。
/// </summary>
public DBHelper()
{
} /// <summary>
/// 打开一个数据库连接。
/// </summary>
private void OpenConnection()
{
string connectionString = "";
try
{
connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
}
catch(Exception ex)
{
throw new ApplicationException("数据库连接失败!\n"+ex.Message+"\n"+connectionString);
}
} /// <summary>
/// 关闭数据库连接。
/// </summary>
private void CloseConnection()
{
if (connection != null)
{
connection.Close();
}
} /// <summary>
/// 对连接执行 T-SQL语句并返回受影响的行数。
/// </summary>
/// <param name="safeSql">T-SQL语句</param>
/// <returns></returns>
public int ExecuteCommand(string safeSql)
{
OpenConnection();
SqlCommand cmd = new SqlCommand(safeSql, connection);
int result = cmd.ExecuteNonQuery();
CloseConnection();
return result;
} /// <summary>
/// 对连接执行 T-SQL语句并返回受影响的行数。
/// </summary>
/// <param name="safeSql">T-SQL语句</param>
/// <param name="values">SqlParameter参数</param>
/// <returns></returns>
public int ExecuteCommand(string sql, params SqlParameter[] values)
{
try
{
OpenConnection();
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
}
finally
{
CloseConnection();
}
} /// <summary>
/// 执行查询,并返回查询所返回的结果集中的第一行第一列。忽略其他行或列。
/// </summary>
/// <param name="safeSql">T-SQL语句</param>
/// <returns></returns>
public int GetScalar(string safeSql)
{
try
{
OpenConnection();
SqlCommand cmd = new SqlCommand(safeSql, connection);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
finally
{
CloseConnection();
}
} /// <summary>
/// 执行查询,并返回查询所返回的结果集中的第一行第一列。忽略其他行或列。
/// </summary>
/// <param name="safeSql">T-SQL语句</param>
/// <param name="values">SqlParameter参数</param>
/// <returns></returns>
public int GetScalar(string sql, params SqlParameter[] values)
{
try
{
OpenConnection();
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.AddRange(values);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
finally
{
CloseConnection();
}
} /// <summary>
/// 查询并获取一个SqlDataReader对象。
/// </summary>
/// <param name="safeSql">T-SQL语句</param>
/// <returns></returns>
public SqlDataReader GetReader(string safeSql)
{
OpenConnection();
SqlCommand cmd = new SqlCommand(safeSql, connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
} /// <summary>
/// 查询并获取一个SqlDataReader对象。
/// </summary>
/// <param name="sql">T-SQL语句</param>
/// <param name="values">SqlParameter参数</param>
/// <returns></returns>
public SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
OpenConnection();
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
} /// <summary>
/// 查询并获取一个DataTable对象。
/// </summary>
/// <param name="safeSql">T-SQL语句</param>
/// <returns></returns>
public DataTable GetDataTable(string safeSql)
{
try
{
OpenConnection();
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
}
finally
{
CloseConnection();
}
}
/// <summary>
/// 查询并获取一个DataTable对象。
/// </summary>
/// <param name="sql">T-SQL语句</param>
/// <param name="values">SqlParameter参数</param>
/// <returns></returns>
public DataTable GetDataTable(string sql, params SqlParameter[] values)
{
try
{
OpenConnection();
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
}
finally
{
CloseConnection();
}
} /// <summary>
/// 查询并返回一个结果集对象。
/// </summary>
/// <param name="sql">T-SQL语句</param>
/// <returns></returns>
public DataSet GetDataSet(string sql)
{
try
{
OpenConnection();
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds;
}
finally
{
CloseConnection();
}
} /// <summary>
/// 查询并返回一个结果集对象。
/// </summary>
/// <param name="sql">T-SQL语句</param>
/// <param name="values">SqlParameter参数</param>
/// <returns></returns>
public DataSet GetDataSet(string sql, params SqlParameter[] values)
{
try
{
OpenConnection();
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds;
}
finally
{
CloseConnection();
}
} //public static string S2MD5(string str)
//{
// return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
//}
}
}
这里面的问题很多,不是几行注释就能明白的,希望lz认识的学习一下,会有好处的,不懂的可以直接来问我
{
public static class DBHelper
{ private static SqlConnection connection; //申明一个静态的连接对象
public static SqlConnection Connection //属性
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings["MyBookShop"].ConnectionString;//从配置文件中读连接字符串
if (connection == null)//如果连接为空
{
connection = new SqlConnection(connectionString);//创建一个新的连接对象(连接字符串)
connection.Open();//打开连接
}
else if (connection != null)//如果连接不为空
{
if (connection.State != ConnectionState.Closed)//判断当前连接是否没有关闭
{
connection.Close();//关闭连接
connection.Open();//打开连接
}
}
else if (connection.State == System.Data.ConnectionState.Broken)//判断是否与数据库中断
{
connection.Close();//关闭连接
connection.Open();//打开连接
}
return connection;//返回连接
}
}
public static int ExecuteCommand(string safeSql)//执行一条sql 语句,返回结果
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);//创建command对象,(sql语句,连接对象)
int result = cmd.ExecuteNonQuery();//执行语句,并用一个int来接收是否执行成功 result>0为成功,否则为失败
return result;//返回结果
} public static int ExecuteCommand(string sql, params SqlParameter[] values)//重载方法。。
{
SqlCommand cmd = new SqlCommand(sql, Connection);//创建command对象,(sql语句,连接对象))
cmd.Parameters.AddRange(values);//添加参数
return cmd.ExecuteNonQuery();//返回结果
} public static int GetScalar(string safeSql)//执行一条sql语句返回第1行第1列的结果
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);//创建command对象,(sql语句,连接对象)
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;//返回结果
} public static int GetScalar(string sql, params SqlParameter[] values)//执行一条sql语句返回第1行第1列的结果
{
SqlCommand cmd = new SqlCommand(sql, Connection);//创建command对象,(sql语句,连接对象)
cmd.Parameters.AddRange(values);//添加参数
int result = Convert.ToInt32(cmd.ExecuteScalar());//得到结果
return result;//返回结果
}
public static int GetScalar(string sql, CommandType type, params SqlParameter[] values)//这个基本和上面一样``只是重载传入的参数不同
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.CommandType = type;
cmd.Parameters.AddRange(values);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
public static SqlDataReader GetReader(string safeSql)//返回一个reader结果集
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);//创建command对象,(sql语句,连接对象)
SqlDataReader reader = cmd.ExecuteReader();//执行sqlDateRead方法
return reader;//返回结果集
} public static SqlDataReader GetReader(string sql, params SqlParameter[] values)//重载,和上面一样,多传了一个参数数组进来
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
public static SqlDataReader GetReader(string sql, CommandType type, params SqlParameter[] values)//重载,和上面一样,多传一个CommandType进来...
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.CommandType = type;
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
public static DataTable GetDataSet(string safeSql)//返回一个表...
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
} public static DataTable GetDataSet(string sql, params SqlParameter[] values)//还是返回一个表。重载,带参数的
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
} }
}分不给我那我哭死