zoukankan      html  css  js  c++  java
  • Ado.net 通用访问类

    public class DbHelperSQL
        {
            private static string connString = ConfigurationManager.ConnectionStrings["SqlDataSource"].ToString();
    
            #region 获取一个连接通道
            /// <summary>
            /// 获取一个连接通道
            /// </summary>
            /// <returns></returns>
            public static SqlConnection CreateConn()
            {
                return new SqlConnection(connString);
            }
            #endregion
    
            #region 获取数据源
            /// <summary>
            /// 获取数据源
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parms"></param>
            /// <returns></returns>
            public static DataSet Query(string sql, CommandType cmdType = CommandType.Text, params SqlParameter[] parms)
            {
                DataSet dt = new DataSet();
                using (SqlConnection conn = CreateConn())
                {
                    SqlDataAdapter da = new SqlDataAdapter();
                    SqlCommand cmd = new SqlCommand(sql, conn);
                    cmd.CommandType = cmdType;
                    if (parms != null)
                    {
                        cmd.Parameters.AddRange(parms);
                    }
                    da.SelectCommand = cmd;
                    da.Fill(dt);
                }
    
                return dt;
            }
            #endregion
    
            #region 执行事务
            /// <summary>
            /// 执行事务
            /// </summary>
            /// <param name="sql">存储过程名</param>
            /// <param name="parmsList">每个存储过程中所包含的参数</param>
            /// <returns></returns>
            public static int ExecTran(string sql,  List<SqlParameter[]> parmsList,CommandType cmdType = CommandType.Text)
            {
                int row = 0;
                using (SqlConnection conn = CreateConn())
                {
                    conn.Open();
                    SqlTransaction tran = conn.BeginTransaction();
                    SqlCommand cmd = new SqlCommand(sql, conn, tran);
                    cmd.CommandType = cmdType;
                    if (parmsList != null && parmsList.Count>0)
                    {
                        foreach (SqlParameter[] parms in parmsList)
                        {
                            cmd.Parameters.Clear();
                            if (parms != null)
                            {
                                cmd.Parameters.AddRange(parms);
                            } 
                            try
                            {
                                row += cmd.ExecuteNonQuery();
                            }
                            catch
                            {
                                tran.Rollback();
                                return 0;
                            }
                        }
                        tran.Commit();
                    }
                }
                return row;
            }
            #endregion
    
            #region 执行包含主表和子表的事务
            /// <summary>
            /// 执行包含主表和子表的事务
            /// </summary>
            /// <param name="MainSql">主表存储过程</param>
            /// <param name="MainParmsList">主表存储过程包含的参数</param>
            /// <param name="ChildSql">子表存储过程</param>
            /// <param name="ChildParmsList"></param>
            /// <returns></returns>
            public int ExecTran(string MainSql, CommandType cmdType, List<SqlParameter[]> MainParmsList, string ChildSql, List<SqlParameter[]> ChildParmsList)
            {
                int row = 0;
                using (SqlConnection conn = CreateConn())
                {
                    conn.Open();
                    SqlTransaction tran = conn.BeginTransaction();
                    SqlCommand cmd = new SqlCommand(MainSql, conn, tran);               
                    cmd.CommandType = cmdType;               
                    if (MainParmsList != null)
                    {
                        foreach (SqlParameter[] parms in MainParmsList)
                        { 
                            cmd.Parameters.Clear();
                            if (parms != null)
                            {                           
                                cmd.Parameters.AddRange(parms);                           
                            }
                            try
                            {
                                row = cmd.ExecuteNonQuery();
                            }
                            catch
                            {
                                tran.Rollback();
                                return 0;
                            }
                        }
                    }
                    cmd.CommandText = ChildSql;
                    if (ChildParmsList != null)
                    {
                        foreach (SqlParameter[] parm in ChildParmsList)
                        {
                            cmd.Parameters.Clear();
                            if (parm != null)
                            {
                                cmd.Parameters.AddRange(parm);
                            }
                            try
                            {
                                row = cmd.ExecuteNonQuery();
                            }
                            catch
                            {
                                tran.Rollback();
                                return 0;
                            }
                        }
                        tran.Commit();
                    }
                }
                return row;
            }
            #endregion
    
            #region 执行Sql语句
            /// <summary>
            /// 执行Sql语句
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parms"></param>
            /// <returns></returns>
            public static int ExecuteSql(string sql, CommandType cmdType = CommandType.Text, params SqlParameter[] parms)
            {
                int row = 0;
                using (SqlConnection conn = CreateConn())
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(sql, conn);
                    cmd.CommandType = cmdType;
                    if (parms != null)
                    {
                        cmd.Parameters.AddRange(parms);
                    }
                    row = cmd.ExecuteNonQuery();
                }
                return row;
            }
            #endregion
    
            #region 获取首行首列
            /// <summary>
            /// 获取首行首列
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parms"></param>
            /// <returns></returns>
            public static object GetSingle(string sql, CommandType cmdType= CommandType.Text, params SqlParameter[] parms)
            {
                using (SqlConnection conn = CreateConn())
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(sql, conn);
                    cmd.CommandType = cmdType;
                    if (parms != null)
                    {
                        cmd.Parameters.AddRange(parms);
                    }
                    return cmd.ExecuteScalar();
                }
            }
            #endregion
        }
  • 相关阅读:
    第六周作业
    第四周作业(登录验证码)
    JSP第二次作业
    JSP第一次作业求1-100间的素数
    软件测试课堂作业
    安卓作业(购物商城)
    安卓作业
    Android 简易计算器
    jsp第七次作业
    JSP第六次作业
  • 原文地址:https://www.cnblogs.com/xuyubing/p/4334554.html
Copyright © 2011-2022 走看看