都进来看看,对这个SQL连接你们认为有何更好的看法?
2011-12-16 13:27
302 查看
public static class DBHelper
{
private static string strConn = ConfigurationManager.ConnectionStrings["strConn"].ConnectionString;
private static SqlConnection conn;
public static SqlConnection Conn
{
get
{
if (conn == null)
{
conn = new SqlConnection(strConn);
conn.Open();
}
else if (conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
}
else if (conn.State == System.Data.ConnectionState.Broken)
{
conn.Close();
conn.Open();
}
return conn;
}
}
/// <summary>
/// 执行带参数的增删改操作
/// </summary>
/// <param name="sql">带参数的SQL语句</param>
/// <param name="pars">参数列表</param>
/// <returns>操作是否成功</returns>
public static bool ExecSql(string sql, SqlParameter[] pars)
{
int count = 0;
SqlCommand command = new SqlCommand(sql, Conn);
command.Parameters.AddRange(pars);
count = command.ExecuteNonQuery();
if (count > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 执行插入操作,返回自动增长的主键
/// </summary>
/// <param name="sql"></param>
/// <param name="pars"></param>
/// <returns></returns>
public static int ExecSqlGetId(string sql, SqlParameter[] pars)
{
SqlCommand command = new SqlCommand(sql, Conn);
command.Parameters.AddRange(pars);
object obj = command.ExecuteScalar();
if (obj == null)
{
return -1;
}
else
{
try
{
return Convert.ToInt32(obj);
}
catch (Exception ex)
{
throw ex;
}
}
}
/// <summary>
/// 执行增删改操作
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static bool ExecSql(string sql)
{
int count = 0;
try
{
SqlCommand command = new SqlCommand(sql, Conn);
count = command.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
if (count > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 执行SQL语句返回数据表
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataTable GetDataTable(string sql)
{
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(sql, Conn);
adapter.Fill(dt);
return dt;
}
public static DataTable GetDataTable(string sql, SqlParameter[] pars)
{
DataTable dt = new DataTable();
SqlCommand command = new SqlCommand(sql, Conn);
command.Parameters.AddRange(pars);
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(dt);
return dt;
}
public static DataTable GetDataTaleByProc(string sql, SqlParameter[] pars)
{
DataTable dt = new DataTable();
SqlCommand command = new SqlCommand(sql,Conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddRange(pars);
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(dt);
return dt;
}
public static DataRow GetDataRow(string sql)
{
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(sql, Conn);
adapter.Fill(dt);
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0];
}
else
{
return null;
}
}
public static DataRow GetDataRow(string sql,SqlParameter[] pars)
{
DataTable dt = new DataTable();
SqlCommand command = new SqlCommand(sql, Conn);
command.Parameters.AddRange(pars);
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(dt);
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0];
}
else
{
return null;
}
}
/// <summary>
/// 执行带一个数据参数的读取
/// </summary>
/// <param name="safeSql"></param>
/// <returns></returns>
public static SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Conn);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
/// <summary>
/// 执行带2个参数的数据读取
/// </summary>
/// <param name="sql"></param>
/// <param name="values"></param>
/// <returns></returns>
public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
}
{
private static string strConn = ConfigurationManager.ConnectionStrings["strConn"].ConnectionString;
private static SqlConnection conn;
public static SqlConnection Conn
{
get
{
if (conn == null)
{
conn = new SqlConnection(strConn);
conn.Open();
}
else if (conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
}
else if (conn.State == System.Data.ConnectionState.Broken)
{
conn.Close();
conn.Open();
}
return conn;
}
}
/// <summary>
/// 执行带参数的增删改操作
/// </summary>
/// <param name="sql">带参数的SQL语句</param>
/// <param name="pars">参数列表</param>
/// <returns>操作是否成功</returns>
public static bool ExecSql(string sql, SqlParameter[] pars)
{
int count = 0;
SqlCommand command = new SqlCommand(sql, Conn);
command.Parameters.AddRange(pars);
count = command.ExecuteNonQuery();
if (count > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 执行插入操作,返回自动增长的主键
/// </summary>
/// <param name="sql"></param>
/// <param name="pars"></param>
/// <returns></returns>
public static int ExecSqlGetId(string sql, SqlParameter[] pars)
{
SqlCommand command = new SqlCommand(sql, Conn);
command.Parameters.AddRange(pars);
object obj = command.ExecuteScalar();
if (obj == null)
{
return -1;
}
else
{
try
{
return Convert.ToInt32(obj);
}
catch (Exception ex)
{
throw ex;
}
}
}
/// <summary>
/// 执行增删改操作
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static bool ExecSql(string sql)
{
int count = 0;
try
{
SqlCommand command = new SqlCommand(sql, Conn);
count = command.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
if (count > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 执行SQL语句返回数据表
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataTable GetDataTable(string sql)
{
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(sql, Conn);
adapter.Fill(dt);
return dt;
}
public static DataTable GetDataTable(string sql, SqlParameter[] pars)
{
DataTable dt = new DataTable();
SqlCommand command = new SqlCommand(sql, Conn);
command.Parameters.AddRange(pars);
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(dt);
return dt;
}
public static DataTable GetDataTaleByProc(string sql, SqlParameter[] pars)
{
DataTable dt = new DataTable();
SqlCommand command = new SqlCommand(sql,Conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddRange(pars);
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(dt);
return dt;
}
public static DataRow GetDataRow(string sql)
{
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(sql, Conn);
adapter.Fill(dt);
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0];
}
else
{
return null;
}
}
public static DataRow GetDataRow(string sql,SqlParameter[] pars)
{
DataTable dt = new DataTable();
SqlCommand command = new SqlCommand(sql, Conn);
command.Parameters.AddRange(pars);
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(dt);
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0];
}
else
{
return null;
}
}
/// <summary>
/// 执行带一个数据参数的读取
/// </summary>
/// <param name="safeSql"></param>
/// <returns></returns>
public static SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Conn);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
/// <summary>
/// 执行带2个参数的数据读取
/// </summary>
/// <param name="sql"></param>
/// <param name="values"></param>
/// <returns></returns>
public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
}
相关文章推荐
- sql远程连接openrowset配置 sql分布式连接openrowset配置 SQL连接到其它对象(OpenRowSet的应用) (这个是测试有效的)
- 混了SQL连接就运行这个
- 大家进来看看这个问题 前几天的一个笔试题目
- 你经常写HTML吗?进来看看这个问题?
- C#/VC++做过数据分析软件的朋友进来看看,帮我分析一下这个软件是如何做的
- Windows物理机与Kali虚拟机互ping不通的解决办法(自己适用,看看你们是不是这个问题)
- 哪位帮我看看这个SQL语句错在什么地方,总是提示我insert into语句的语法错误[呵呵遇到了同样的问题]
- 帮忙看看怎么优化这个最长的sql
- 看有没有高手能解决这个SQL远程连接失败问题
- thinkphp 多图和单图上传处理 (我认为这个方法更好吧 比我以前写的 高效了不少)
- 一道经典的sql面试题!认为自己sql玩得挺转的进来!
- 进来看看,你们不容错过,陕西省政府采购网络安全认证系统的设计与实现
- 你们看看这个程序怎么就错了???
- 十八岁就不要进来了,你们看不懂这个贴
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- 知道你们为什么抢不到红米吗?来看看这个
- sql每日一练 进来练一下 这个有一点难 都进来看一下吧
- PL/SQL Developer 远程连接Oracle数据库
- java连接数据库并执行sql
- 通用数据库连接执行类(SQL)