zoukankan      html  css  js  c++  java
  • 最近写的简单的SQLHelper的类

    using System;
    using System.Data;
    using System.Configuration;
    using System.Data.SqlClient;

    namespace DAL
    {
    public class SQLHelper
    {
    public static SqlConnection conn = null;
    public static SqlCommand cmd = null;
    public static string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;

    public SQLHelper()
    { }

    #region 建立数据库连接对象
    /// <summary>
    /// 建立数据库连接
    /// </summary>
    /// <returns>返回一个数据库的连接SqlConnection对象</returns>
    public static SqlConnection init()
    {
    try
    {
    conn
    = new SqlConnection(connstr);
    if (conn.State != ConnectionState.Open)
    {
    conn.Open();
    }
    }
    catch (Exception e)
    {
    throw new Exception(e.Message.ToString());
    }
    return conn;
    }
    #endregion

    #region 设置SqlCommand对象
    /// <summary>
    /// 设置SqlCommand对象
    /// </summary>
    /// <param name="cmd">SqlCommand对象 </param>
    /// <param name="cmdText">命令文本</param>
    /// <param name="cmdType">命令类型</param>
    /// <param name="cmdParms">参数集合</param>
    private static void SetCommand(SqlCommand cmd, string cmdText, CommandType cmdType, SqlParameter[] cmdParms)
    {
    cmd.Connection
    = conn;
    cmd.CommandText
    = cmdText;
    cmd.CommandType
    = cmdType;
    if (cmdParms != null)
    {
    cmd.Parameters.AddRange(cmdParms);
    }
    }
    #endregion

    #region 执行相应的sql语句,返回相应的DataSet对象
    /// <summary>
    /// 执行相应的sql语句,返回相应的DataSet对象
    /// </summary>
    /// <param name="sqlstr">sql语句</param>
    /// <returns>返回相应的DataSet对象</returns>
    public static DataSet GetDataSet(string sqlstr)
    {
    DataSet ds
    = new DataSet();
    try
    {
    init();
    SqlDataAdapter ada
    = new SqlDataAdapter(sqlstr, conn);
    ada.Fill(ds);
    conn.Close();
    }
    catch (Exception e)
    {
    throw new Exception(e.Message.ToString());
    }
    return ds;
    }
    #endregion

    #region 执行相应的sql语句,返回相应的DataSet对象
    /// <summary>
    /// 执行相应的sql语句,返回相应的DataSet对象
    /// </summary>
    /// <param name="sqlstr">sql语句</param>
    /// <param name="tableName">表名</param>
    /// <returns>返回相应的DataSet对象</returns>
    public static DataSet GetDataSet(string sqlstr, string tableName)
    {
    DataSet ds
    = new DataSet();
    try
    {
    init();
    SqlDataAdapter ada
    = new SqlDataAdapter(sqlstr, conn);
    ada.Fill(ds, tableName);
    conn.Close();
    }
    catch (Exception e)
    {
    throw new Exception(e.Message.ToString());
    }
    return ds;
    }
    #endregion

    #region 执行不带参数sql语句,返回一个DataTable对象
    /// <summary>
    /// 执行不带参数sql语句,返回一个DataTable对象
    /// </summary>
    /// <param name="cmdText">相应的sql语句</param>
    /// <returns>返回一个DataTable对象</returns>
    public static DataTable GetDataTable(string cmdText)
    {

    SqlDataReader reader;
    DataTable dt
    = new DataTable();
    try
    {
    init();
    cmd
    = new SqlCommand(cmdText, conn);
    reader
    = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    dt.Load(reader);
    reader.Close();
    }
    catch (Exception ex)
    {
    throw new Exception(ex.Message.ToString());
    }
    return dt;
    }
    #endregion

    #region 执行带参数的sql语句或存储过程,返回一个DataTable对象
    /// <summary>
    /// 执行带参数的sql语句或存储过程,返回一个DataTable对象
    /// </summary>
    /// <param name="cmdText">sql语句或存储过程名</param>
    /// <param name="cmdType">命令类型</param>
    /// <param name="cmdParms">参数集合</param>
    /// <returns>返回一个DataTable对象</returns>
    public static DataTable GetDataTable(string cmdText, CommandType cmdType, SqlParameter[] cmdParms)
    {
    SqlDataReader reader;
    DataTable dt
    = new DataTable();
    try
    {
    init();
    cmd
    = new SqlCommand();
    SetCommand(cmd, cmdText, cmdType, cmdParms);
    reader
    = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    dt.Load(reader);
    reader.Close();
    }
    catch (Exception ex)
    {
    throw new Exception(ex.Message.ToString());
    }
    return dt;
    }
    #endregion

    #region 执行不带参数sql语句,返回所影响的行数
    /// <summary>
    /// 执行不带参数sql语句,返回所影响的行数
    /// </summary>
    /// <param name="cmdText">增,删,改sql语句</param>
    /// <returns>返回所影响的行数</returns>
    public static int ExecuteNonQuery(string cmdText)
    {
    int count;
    try
    {
    init();
    cmd
    = new SqlCommand(cmdText, conn);
    count
    = cmd.ExecuteNonQuery();
    conn.Close();
    }
    catch (Exception ex)
    {
    throw new Exception(ex.Message.ToString());
    }
    return count;
    }
    #endregion

    #region 执行带参数sql语句或存储过程,返回所影响的行数
    /// <summary>
    /// 执行带参数sql语句或存储过程,返回所影响的行数
    /// </summary>
    /// <param name="cmdText">带参数的sql语句和存储过程名</param>
    /// <param name="cmdType">命令类型</param>
    /// <param name="cmdParms">参数集合</param>
    /// <returns>返回所影响的行数</returns>
    public static int ExecuteNonQuery(string cmdText, CommandType cmdType, SqlParameter[] cmdParms)
    {
    int count;
    try
    {
    init();
    cmd
    = new SqlCommand();
    SetCommand(cmd, cmdText, cmdType, cmdParms);
    count
    = cmd.ExecuteNonQuery();
    cmd.Parameters.Clear();
    conn.Close();
    }
    catch (Exception ex)
    {
    throw new Exception(ex.Message.ToString());
    }
    return count;
    }
    #endregion

    #region 执行不带参数sql语句,返回一个从数据源读取数据的SqlDataReader对象
    /// <summary>
    /// 执行不带参数sql语句,返回一个从数据源读取数据的SqlDataReader对象
    /// </summary>
    /// <param name="cmdText">相应的sql语句</param>
    /// <returns>返回一个从数据源读取数据的SqlDataReader对象</returns>
    public static SqlDataReader ExecuteReader(string cmdText)
    {
    SqlDataReader reader;
    try
    {
    init();
    cmd
    = new SqlCommand(cmdText, conn);
    reader
    = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    }
    catch (Exception ex)
    {
    throw new Exception(ex.Message.ToString());
    }
    return reader;
    }
    #endregion

    #region 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的SqlDataReader对象
    /// <summary>
    /// 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的SqlDataReader对象
    /// </summary>
    /// <param name="cmdText">sql语句或存储过程名</param>
    /// <param name="cmdType">命令类型</param>
    /// <param name="cmdParms">参数集合</param>
    /// <returns>返回一个从数据源读取数据的SqlDataReader对象</returns>
    public static SqlDataReader ExecuteReader(string cmdText, CommandType cmdType, SqlParameter[] cmdParms)
    {
    SqlDataReader reader;
    try
    {
    init();
    cmd
    = new SqlCommand();
    SetCommand(cmd, cmdText, cmdType, cmdParms);
    reader
    = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    }
    catch (Exception ex)
    {
    throw new Exception(ex.Message.ToString());
    }
    return reader;
    }
    #endregion

    #region 执行不带参数sql语句,返回结果集首行首列的值object
    /// <summary>
    /// 执行不带参数sql语句,返回结果集首行首列的值object
    /// </summary>
    /// <param name="cmdText">相应的sql语句</param>
    /// <returns>返回结果集首行首列的值object</returns>
    public static object ExecuteScalar(string cmdText)
    {
    object obj;
    try
    {
    init();
    cmd
    = new SqlCommand(cmdText, conn);
    obj
    = cmd.ExecuteScalar();
    conn.Close();
    }
    catch (Exception ex)
    {
    throw new Exception(ex.Message.ToString());
    }
    return obj;
    }
    #endregion

    #region 执行带参数sql语句或存储过程,返回结果集首行首列的值object
    /// <summary>
    /// 执行带参数sql语句或存储过程,返回结果集首行首列的值object
    /// </summary>
    /// <param name="cmdText">sql语句或存储过程名</param>
    /// <param name="cmdType">命令类型</param>
    /// <param name="cmdParms">返回结果集首行首列的值object</param>
    /// <returns></returns>
    public static object ExecuteScalar(string cmdText, CommandType cmdType, SqlParameter[] cmdParms)
    {
    object obj;
    try
    {
    init();
    cmd
    = new SqlCommand();
    SetCommand(cmd, cmdText, cmdType, cmdParms);
    obj
    = cmd.ExecuteScalar();
    conn.Close();
    }
    catch (Exception ex)
    {
    throw new Exception(ex.Message.ToString());
    }
    return obj;
    }
    #endregion
    }
    }
  • 相关阅读:
    京东书4
    哈工大信息检索研究室 语言技术平台相关技术简介
    VIM使用小技巧重新载入文件
    在亚马逊网站上查看此物品
    automake autoconf m4 suite for autotools download
    XZ压缩最新压缩率之王
    在亚马逊网站上查看此物品
    京东书3
    欢迎访问 Babel 汉英平行语料库
    autotools 使用实例ckelselChinaUnix博客
  • 原文地址:https://www.cnblogs.com/JuneZhang/p/1971763.html
Copyright © 2011-2022 走看看