您的位置:首页 > 数据库

都进来看看,对这个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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐