您的位置:首页 > 编程语言 > C#

C#常用类——DBHelp

2011-12-20 10:32 225 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

namespace TestPrj //空间名字 TestPrj

{
public class DBHelper //类名 DBHelper
{

//获取数据库连接字符串
private static string connStr = ConfigurationManager.ConnectionStrings["sqlserver"].ConnectionString;

private static SqlConnection conn;

public static SqlConnection Conn
{
get
{
if (conn == null)
{
conn = new SqlConnection(connStr);
conn.Open();
}
if (conn != null && conn.State != ConnectionState.Closed)
{
conn.Close();
conn.Open();
}
else
{
conn.Open();
}
return DBHelper.conn;
}
}

/// <summary>
/// 关闭连接
/// </summary>

public static void closeConn()
{
if (Conn != null && Conn.State != ConnectionState.Closed)
{
Conn.Close();
}
}

/// <summary>
/// 查询操作
/// </summary>
/// <param name="sql">传入以select打头的sql语句或存储过程</param>
/// <param name="type">命令类型</param>
/// <param name="pars">数组</param>
/// <returns></returns>

public static SqlDataReader getReader(string sql, CommandType type, params SqlParameter[] pars)
{
SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.CommandType = type;
cmd.Parameters.AddRange(pars);
return cmd.ExecuteReader();
}
public static SqlDataReader getReader(string sql, CommandType type, params SqlParameter[] pars)
{
SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.CommandType = type;
cmd.Parameters.AddRange(pars);
return cmd.ExecuteReader();
}

/// <summary>
/// 执行非查询操作(执行增、删、改操作的),不支持事务
/// </summary>
/// <param name="sql">传入以insert|update|delete打头的sql语句或存储过程</param>
/// <param name="type">命令类型</param>
/// <param name="pars">数组</param>
/// <returns></returns>

public static int ExecuteNoneQuery(string sql, CommandType type, params SqlParameter[] pars)
{
int result = 0;

SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.CommandType = type;
if (pars != null)
{
cmd.Parameters.AddRange(pars);
}

result = cmd.ExecuteNonQuery();

//关闭连接对象
CloseConn();

return result;
}
public static int ExecuteNoneQuery(string sql, CommandType type, params SqlParameter[] pars)
{
int result = 0;

SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.CommandType = type;
if (pars != null)
{
cmd.Parameters.AddRange(pars);
}

result = cmd.ExecuteNonQuery();

//关闭连接对象
CloseConn();

return result;
}

/// <summary>
/// 非查询操作(执行增、删、改操作的),支持事务,进行批量操作
/// </summary>
/// <param name="sql">传入以insert|update|delete打头的sql语句或存储过程</param>
/// <param name="conn">数据库连接</param>
/// <param name="type">命令类型</param>
/// <param name="pars">数组</param>
/// <returns></returns>

public static int ExecuteNoneQuery(string sql, SqlConnection conn, CommandType type, params SqlParameter[] pars)
{
int result = 0;

//接受外部提供的数据连接对象,并且此连接在本次操作后不要关闭
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = type;
cmd.Parameters.AddRange(pars);

result = cmd.ExecuteNonQuery();

return result;
}
public static int ExecuteNoneQuery(string sql, SqlConnection conn, CommandType type, params SqlParameter[] pars)
{
int result = 0;

//接受外部提供的数据连接对象,并且此连接在本次操作后不要关闭
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = type;
cmd.Parameters.AddRange(pars);

result = cmd.ExecuteNonQuery();

return result;
}

/// <summary>
/// 获取单个值,返回首行首列
/// </summary>
/// <param name="sql">传入以select打头的sql语句</param>
/// <param name="type">命令类型</param>
/// <param name="pars">数组</param>
/// <returns></returns>

public static object GetScalar(string sql, CommandType type, params SqlParameter[] pars)
{
object obj = null;

SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.CommandType = type;
cmd.Parameters.AddRange(pars);

obj = cmd.ExecuteScalar();

//关闭连接对象
CloseConn();

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