zoukankan      html  css  js  c++  java
  • SqlHelper类

    封装一个SQLHelper类方便使用,提供
    ExecuteDataTable(string sql,params SqlParameter[] parameters)、
    ExecuteNonQuery(string sql,params SqlParameter[] parameters)、
    ExecuteScalar(string sql,params SqlParameter[] parameters)等方法。 网上有微软提供的最全的SQLHelper类,是Enterprise Library中的一部分

    ExecuteReader(返回DataReader,因为需要连接,并不是很好的封装,所以建议使用ExecuteDataTable)

    注意事项:通过执行ExecuteReader()方法获取输出参数的时候需要将reader.Close()以后才能获取
    操作模型: App.config   +    SQLHelper   +  带参数的SQL语句


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;


    namespace _10封装加多条件查询
    {
        public class SqlHelper
        {
            private static readonly string str = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
            //ExecuteScalar  ExecuteNonQuery  ExecuteReader Execute


                /// <summary>
                /// 用于增删改,返回受影响的行数
                /// </summary>
                /// <param name="sql"></param>
                /// <param name="ps"></param>
                /// <returns></returns>
            public static int ExecuteNonQuery(string sql,params SqlParameter[] ps)
            {
                using (SqlConnection con=new SqlConnection(str))
                {
                    using (SqlCommand cmd=new SqlCommand(sql,con))
                    {
                        con.Open();
                        cmd.Parameters.AddRange(ps);
                        return cmd.ExecuteNonQuery();
                    }
                }
            }


            /// <summary>
            /// 返回首行首列
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="ps"></param>
            /// <returns></returns>
            public static object ExecuteScalar(string sql,params SqlParameter[] ps)
            {
                using (SqlConnection con=new SqlConnection(str))
                {
                    using (SqlCommand cmd=new SqlCommand(sql,con))
                    {
                        con.Open();
                        cmd.Parameters.AddRange(ps);
                        return cmd.ExecuteScalar();
                    }
                }
            }


            /// <summary>
            /// 返回读取数据库的对象
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="ps"></param>
            /// <returns></returns>
            public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] ps)
            {
                SqlConnection con=new SqlConnection(str);
                using (SqlCommand cmd=new SqlCommand(sql,con))
                {
                    try
                    {
                        con.Open();
                        cmd.Parameters.AddRange(ps);
                        return cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    }
                    catch (Exception e)
                    {
                        con.Close();
                        con.Dispose();
                        throw e;
                    }
                }
            }


            /// <summary>
            /// 把数据读到一个表里并返回
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="ps"></param>
            /// <returns></returns>
            public static DataTable ExecuteTable(string sql,params SqlParameter[] ps)
            {


                DataTable dt=new DataTable();
                using (SqlDataAdapter sda=new SqlDataAdapter(sql,str))
                {
                    sda.SelectCommand.Parameters.AddRange(ps);
                    sda.Fill(dt);
                }
                return dt;
            }


        }
    }

  • 相关阅读:
    AI:IPPR的数学表示-CNN可视化语义分析
    AI:IPPR的模式生成-学习/训练方式(基本结构)
    三维重建面试13X:一些算法试题-今日头条AI-Lab
    AI:IPPR的数学表示-CNN基本结构分析( Conv层、Pooling层、FCN层/softmax层)
    AI:IPPR的数学表示-CNN结构/参数分析
    AI:IPPR的数学表示-CNN方法
    AI:PR的数学表示-传统方法PR
    AI:模式识别的数学表示(集合—函数观点)
    三维重建12:室内三维物体的位姿识别论文列表
    三维重建11:点云的全局特征总结
  • 原文地址:https://www.cnblogs.com/CSharpLover/p/5193673.html
Copyright © 2011-2022 走看看