zoukankan      html  css  js  c++  java
  • SQLHelper类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;
    
     
        /// <summary>
        /// sql server数据操作的底层类
        /// </summary>
        public class SQLHelper
        {
            public static string connStr = System.Configuration.ConfigurationManager.AppSettings["connStr"];
    
            //1.查询列表 GetTable
            /// <summary>
            /// 查询命令(sql 语句或过程名),返回一个数据表
            /// </summary>
            /// <param name="cmdText">命令</param>
            /// <param name="type">命令类型</param>
            /// <param name="pms">sql参数</param>
            /// <returns></returns>
            public static DataTable GetTable(string cmdText,CommandType type, params SqlParameter[] pms)
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(cmdText, conn);
                cmd.CommandType = type;
                if (pms != null) //判断是不是有参数传递进来 判断数组是不是null
                {
                    foreach (SqlParameter item in pms)
                    {
                        if (item != null) //判断数组中的每一个元素是不是为null
                        {
                            cmd.Parameters.Add(item);
                        }
                    }
                }
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                sda.Fill(ds, "aa");
                conn.Close();
                //返回结果
                DataTable dt = ds.Tables["aa"];
                return dt;
                //************************************
            }
    
            //给查询列表操作写一个执行sql语句的重载
            /// <summary>
            /// 执行sql语句,返回数据表
            /// </summary>
            /// <param name="sql">sql语句</param>
            /// <param name="pms">sql语句所需要的参数</param>
            /// <returns></returns>
            public static DataTable GetTable(string sql, params SqlParameter[] pms)
            {
                return GetTable(sql, CommandType.Text, pms);
            }
    
            //2.执行命令返回影响行数 ExecuteNonQuery
            public static int ExecuteNonQuery(string cmdText, CommandType type, params SqlParameter[] pms)
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(cmdText, conn);
                cmd.CommandType = type;
                if (pms != null) //判断是不是有参数传递进来 判断数组是不是null
                {
                    foreach (SqlParameter item in pms)
                    {
                        if (item != null) //判断数组中的每一个元素是不是为null
                        {
                            cmd.Parameters.Add(item);
                        }
                    }
                } 
                int i = cmd.ExecuteNonQuery();
                conn.Close(); 
                return i;
            }
    
            public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
            {
                return ExecuteNonQuery(sql, CommandType.Text, pms);
            }
    
            //3.查询返回结果中的首行首列  ExecuteSingle
            public static object ExecuteSingle(string cmdText, CommandType type, params SqlParameter[] pms)
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(cmdText, conn);
                cmd.CommandType = type;
                if (pms != null) //判断是不是有参数传递进来 判断数组是不是null
                {
                    foreach (SqlParameter item in pms)
                    {
                        if (item != null) //判断数组中的每一个元素是不是为null
                        {
                            cmd.Parameters.Add(item);
                        }
                    }
                }
    
                object obj= cmd.ExecuteScalar();
                conn.Close();
                return obj;
            }
    
            public static object ExecuteSingle(string sql, params SqlParameter[] pms)
            {
                return ExecuteSingle(sql, CommandType.Text, pms);
            }
    
            //4.查询返回一个DataReader对象,让别人以游标的方式去读取数据  GetDataReader
            public static SqlDataReader GetDataReader(string cmdText, CommandType type, params SqlParameter[] pms)
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(cmdText, conn);
                cmd.CommandType = type;
                if (pms != null) //判断是不是有参数传递进来 判断数组是不是null
                {
                    foreach (SqlParameter item in pms)
                    {
                        if (item != null) //判断数组中的每一个元素是不是为null
                        {
                            cmd.Parameters.Add(item);
                        }
                    }
                }
                SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                return dr;
            }
    
            public static SqlDataReader GetDataReader(string sql, params SqlParameter[] pms)
            {
                return GetDataReader(sql, CommandType.Text, pms);
            }
            
        }
     
  • 相关阅读:
    判断Redis复制是否完成的方法
    jquery ajax 设置header的方式
    二维码 halcon(转)
    转 python 简易windows编辑器
    转 【ORACLE 12C】ORA-65066
    转 python 2 读取配置文件
    转 MySQL active threads more than 40 on db3.***.com
    推荐一个画连锁不平衡图(LD block)的软件LDBlockShow,亲测比haploview好用!
    ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found解决方法
    一个R包(IntAssoPlot),LocusZoom图、连锁不平衡图和基因结构图一步到位
  • 原文地址:https://www.cnblogs.com/xiaz/p/5242937.html
Copyright © 2011-2022 走看看