zoukankan      html  css  js  c++  java
  • 数据库操作通用类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Data;
    using System.Configuration;
    using System.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Data.SqlClient;
    using System.Collections;
    
    namespace study_MvcApplication.Controllers
    {
        //操作SQL SERVER数据库的通用类
        public class DBHelper
        {
            //生成连接字符串
            public SqlConnection GetConn()
            {
                SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connStr"]);
    
                return conn;
            }
            //根据SELECT SQL语句,没有参数,返回一个DataTable
            public DataTable GetTable(string sql)
            {
                SqlConnection conn = this.GetConn();
                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
                DataTable table = new DataTable();
                sda.Fill(table);
                return table;
            }
           //根据SELECT SQL语句,有参数,返回一个DataTable
            public DataTable GetTable(string sql, Hashtable ht)
            {
                SqlConnection conn = this.GetConn();
                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
                foreach (DictionaryEntry de in ht)
                {
                    sda.SelectCommand.Parameters.AddWithValue(de.Key.ToString(), de.Value.ToString());
                }
                DataTable table = new DataTable();
                sda.Fill(table);
                return table;
            }
            //根据SELECT SQL语句,没有参数,返回一个DataRow
            public DataRow GetRow(string sql)
            {
                DataRow row;
                if (this.GetTable(sql).Rows.Count >= 1)
                {
                    row = this.GetTable(sql).Rows[0];
                }
                else
                {
                    row = null;
                }
                return row;
            }
            //根据SELECT SQL语句,有参数,返回一个DataRow
            public DataRow GetRow(string sql, Hashtable ht)
            {
                DataRow row;
                if (this.GetTable(sql, ht).Rows.Count >= 1)
                {
                    row = this.GetTable(sql, ht).Rows[0];
                }
                else
                {
                    row = null;
                }
                return row;
            }
            //根据SELECT SQL语句,没有参数,返回首行首列的值
            public string GetValue(string sql)
            {
                string str = "";
                if (this.GetRow(sql) != null)
                {
                    str = this.GetRow(sql)[0].ToString();
                }
                return str;
            }
            //根据SELECT SQL语句,有参数,返回首行首列的值
            public string GetValue(string sql, Hashtable ht)
            {
                string str = "";
                if (this.GetRow(sql, ht) != null)
                {
                    str = this.GetRow(sql, ht)[0].ToString();
                }
                return str;
            }
            //根据存储过程,没有参数,返回一个DataTable
            public DataTable GetTableByProc(string procName)
            {
                SqlConnection conn = this.GetConn();
                SqlDataAdapter sda = new SqlDataAdapter(procName, conn);
                sda.SelectCommand.CommandType = CommandType.StoredProcedure;
                DataTable table = new DataTable();
                sda.Fill(table);
                return table;
            }
            //根据存储过程,有参数,返回一个DataTable
            public DataTable GetTableByProc(string procName,Hashtable ht)
            {
                SqlConnection conn = this.GetConn();
                SqlDataAdapter sda = new SqlDataAdapter(procName, conn);
                sda.SelectCommand.CommandType = CommandType.StoredProcedure;
                foreach (DictionaryEntry de in ht)
                {
                    sda.SelectCommand.Parameters.AddWithValue(de.Key.ToString(), de.Value.ToString());
                }
                DataTable table = new DataTable();
                sda.Fill(table);
                return table;
            }
            //根据存储过程,没有参数,返回一个DataRow
            public DataRow GetRowByProc(string procName)
            {
                DataRow row;
                if (this.GetTableByProc(procName).Rows.Count >= 1)
                {
                    row = this.GetTableByProc(procName).Rows[0];
                }
                else
                {
                    row = null;
                }
                return row;
            }
            //根据存储过程,有参数,返回一个DataRow
            public DataRow GetRowByProc(string procName,Hashtable ht)
            {
                DataRow row;
                if (this.GetTableByProc(procName,ht).Rows.Count >= 1)
                {
                    row = this.GetTableByProc(procName,ht).Rows[0];
                }
                else
                {
                    row = null;
                }
                return row;
            }
            //根据存储过程,没有参数,返回首行首列的值
            public string GetValueByProc(string procName)
            {
                string str = "";
                if (this.GetRowByProc(procName) != null)
                {
                    str = this.GetRowByProc(procName)[0].ToString();
                }
                return str;
            }
            //根据存储过程,有参数,返回首行首列的值
            public string GetValueByProc(string procName,Hashtable ht)
            {
                string str = "";
                if (this.GetRowByProc(procName,ht) != null)
                {
                    str = this.GetRowByProc(procName,ht)[0].ToString();
                }
                return str;
            }
            //普通SQL语句,执行维护操作,没有参数
            public int Execute(string sql)
            {
                SqlConnection conn = this.GetConn();
                conn.Open();
                SqlCommand comm = new SqlCommand(sql, conn);
                int c = comm.ExecuteNonQuery();
                conn.Close();
                return c;
    
            }
            //普通SQL语句,执行维护操作,有参数
            public int Execute(string sql,Hashtable ht)
            {
                SqlConnection conn = this.GetConn();
                conn.Open();
                SqlCommand comm = new SqlCommand(sql, conn);
                foreach (DictionaryEntry de in ht)
                {
                    comm.Parameters.AddWithValue(de.Key.ToString(), de.Value.ToString());
                }
                int c = comm.ExecuteNonQuery();
                conn.Close();
                return c;
            }
            //存储过程,执行维护操作,没有参数
            public int ExecuteProc(string procName)
            {
                SqlConnection conn = this.GetConn();
                conn.Open();
                SqlCommand comm = new SqlCommand(procName, conn);
                comm.CommandType = CommandType.StoredProcedure;
                int c = comm.ExecuteNonQuery();
                conn.Close();
                return c;
            }
            //存储过程,执行维护操作,有参数
            public int ExecuteProc(string procName,Hashtable ht)
            {
                SqlConnection conn = this.GetConn();
                conn.Open();
                SqlCommand comm = new SqlCommand(procName, conn);
                comm.CommandType = CommandType.StoredProcedure;
                foreach (DictionaryEntry de in ht)
                {
                    comm.Parameters.AddWithValue(de.Key.ToString(), de.Value.ToString());
                }
                int c = comm.ExecuteNonQuery();
                conn.Close();
                return c;
            }
        }
    }
  • 相关阅读:
    C++STL之vector用法总结
    [ZOJ 4016] Mergable Stack
    [ZOJ 4024] Peak
    关于C++中ios::sync_with_stdio(false)
    [CodeForces 567C] Geometric Progression
    [CodeForce 450A] Jzzhu and Children
    c++的动态绑定和静态绑定及多态的实现原理(摘)
    C++创建对象的3种方式(转载)
    C++虚函数与纯虚函数用法与区别
    C++深入理解虚函数
  • 原文地址:https://www.cnblogs.com/johanxu/p/5526994.html
Copyright © 2011-2022 走看看