• 能用存储过程的DBHelper类


    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Text;  
    using System.Data;  
    using System.Data.SqlClient;  
      
    namespace Book.DAL  
    {  
        public class DBHelper  
        {  
            private SqlConnection conn = null;  
            private SqlCommand cmd = null;  
            private SqlDataReader sdr = null;  
            public DBHelper()  
            {  
                string connStr = "data Source=.;database=MYBOOKSHOP;uid=sa;pwd=123";  
                conn = new SqlConnection(connStr);  
            }  
      
            private SqlConnection GetConn()  
            {  
                if (conn.State == ConnectionState.Closed)  
                {  
                    conn.Open();  
                }  
                return conn;  
            }  
      
            /// <summary>  
            ///  执行不带参数的增删改SQL语句或存储过程  
            /// </summary>  
            /// <param name="cmdText">增删改SQL语句或存储过程</param>  
            /// <param name="ct">命令类型</param>  
            /// <returns></returns>  
            public int ExecuteNonQuery(string cmdText, CommandType ct)  
            {  
                int res;  
                try  
                {  
                    cmd = new SqlCommand(cmdText, GetConn());  
                    cmd.CommandType = ct;  
                    res = cmd.ExecuteNonQuery();  
                }  
                catch (Exception ex)  
                {  
                    throw ex;  
                }  
                finally  
                {  
                    if (conn.State == ConnectionState.Open)  
                    {  
                        conn.Close();  
                    }  
                }  
                return res;  
            }  
      
            /// <summary>  
            ///  执行带参数的增删改SQL语句或存储过程  
            /// </summary>  
            /// <param name="cmdText">增删改SQL语句或存储过程</param>  
            /// <param name="ct">命令类型</param>  
            /// <returns>int值</returns>  
            public int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct)  
            {  
                int res;  
                using (cmd = new SqlCommand(cmdText, GetConn()))  
                {  
                    cmd.CommandType = ct;  
                    cmd.Parameters.AddRange(paras);  
                    res = cmd.ExecuteNonQuery();  
                }  
                return res;  
            }  
      
            /// <summary>  
            ///  执行查询SQL语句或存储过程  
            /// </summary>  
            /// <param name="cmdText">查询SQL语句或存储过程</param>  
            /// <param name="ct">命令类型</param>  
            /// <returns>Table值</returns>  
            public DataTable ExecuteQuery(string cmdText, CommandType ct)  
            {  
                DataTable dt = new DataTable();  
                cmd = new SqlCommand(cmdText, GetConn());  
                cmd.CommandType = ct;  
                using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))  
                {  
                    dt.Load(sdr);  
                }  
                return dt;  
            }  
      
            /// <summary>  
            ///  执行带参数的查询SQL语句或存储过程  
            /// </summary>  
            /// <param name="cmdText">查询SQL语句或存储过程</param>  
            /// <param name="paras">参数集合</param>  
            /// <param name="ct">命令类型</param>  
            /// <returns>Table值</returns>  
            public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct)  
            {  
                DataTable dt = new DataTable();  
                cmd = new SqlCommand(cmdText, GetConn());  
                cmd.CommandType = ct;  
                cmd.Parameters.AddRange(paras);  
                using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))  
                {  
                    dt.Load(sdr);  
                }  
                return dt;  
            }  
      
      
            /// <summary>  
            /// 执行带参数的Scalar查询  
            /// </summary>  
            /// <param name="cmdText">查询SQL语句或存储过程</param>  
            /// <param name="paras">参数集合</param>  
            /// <param name="ct">命令类型</param>  
            /// <returns>一个int型值</returns>  
            public int ExecuteCheck(string cmdText, SqlParameter[] paras, CommandType ct)  
            {  
                int result;  
                using (cmd = new SqlCommand(cmdText, GetConn()))  
                {  
                    cmd.CommandType = ct;  
                    cmd.Parameters.AddRange(paras);  
                    result = Convert.ToInt32(cmd.ExecuteScalar());  
                }  
                return result;  
            }  
        }  
    }  

    用法

        // 判断用户名密码是否正确  
                public bool CheckUser(string LoginId, string LoginPwd)  
                {  
                    bool check = false;  
                    string cmdText = "procCheckUser";  
                    SqlParameter[] parm = new SqlParameter[]  
                    {  
                        new SqlParameter("@LoginId",LoginId),  
                        new SqlParameter("@LoginPwd",LoginPwd)  
                    };  
                    int one = dh.ExecuteCheck(cmdText, parm, CommandType.StoredProcedure);  
                    if (one > 0)  
                    {  
                        return true;  
                    }  
                    return check;  
                }  
          
          
           
          
          
                //根据图书类型显示该类型所有图书  
                public DataTable SelectAllByType(int TypeId)  
                {  
                    string cmdText = "procSelectAllByType";  
                    SqlParameter[] parm = new SqlParameter[]{  
                        new SqlParameter("@TypeId",TypeId)  
                        };  
                    dt = dh.ExecuteQuery(cmdText, parm, CommandType.StoredProcedure);  
                    return dt;  
                }  
  • 相关阅读:
    2020软件工程作业04
    2020软件工程作业03
    2020软件工程作业02
    2020软件工程作业01
    2020软件工程作业02
    2020软件工程作业01
    WEB学习路线2019完整版(附视频教程+网盘下载地址)
    (2018干货系列七)最新大数据学习路线整合
    (2018干货系列六)最新云计算学习路线整合
    (2018干货系列五)最新UI设计学习路线整合
  • 原文地址:https://www.cnblogs.com/vip-ygh/p/3955336.html
Copyright © 2020-2023  润新知