zoukankan      html  css  js  c++  java
  • sql help cs

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

    /// <summary>
        /// SQLHelper 的摘要描述
        /// </summary>
    public class SQLHelper
    {
     
        private static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString;

       

        #region ExecuteReader():執行并返回一個數據集


        /// <summary>
        /// 執行一段SqlCommand并返回一個結果集
        /// </summary>
        /// <param name="strSql">sql語句</param>
        /// <param name="Parms">參數</param>
        /// <returns></returns>
        public SqlDataReader ExecuteReader(string strSql, SqlParameter[] Parms)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }

                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection = conn;
                        cmd.CommandText = strSql;
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddRange(Parms);
                        conn.Open();
                        SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                        cmd.Parameters.Clear();
                        return rdr;
                        conn.Close();
                    }
                }
             
            }
            catch (Exception ex)
            {
                fn_share fn_share = new fn_share();
                fn_share.systemLog(strSql + ex.Message);

                return (SqlDataReader)null;
            }

           
        }
        #endregion

      
        #region ExecuteNonQuery():執行并返回一個結果,1代表成功,-1代表失敗
       
        /// <summary>
        /// 執行并返回一個結果,1代表成功,-1代表失敗
        /// </summary>
        /// <param name="strSql"></param>
        /// <param name="Parms"></param>
        /// <returns></returns>
        public int ExecuteNonQuery(string strSql, SqlParameter[] Parms)
        {
            try
            {
                int retcount = -1;
                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }

                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection = conn;
                        cmd.CommandText = strSql;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandTimeout = 0;

                        cmd.Parameters.AddRange(Parms);
                        conn.Open();
                        retcount = cmd.ExecuteNonQuery();
                        conn.Close();
                        cmd.Parameters.Clear();

                    }
                }

                return retcount;
            }
            catch (Exception ex)
            {
                fn_share fn_share = new fn_share();

                fn_share.systemLog(strSql + ex.Message);

                return -1;
            }
      
        }
        #endregion

        #region ExecuteScalar():返回數據集第一行第一列的數據
       
        /// <summary>
        /// 返回數據集第一行第一列的數據
        /// </summary>
        /// <param name="strSql"></param>
        /// <param name="Parms">參數</param>
        /// <returns></returns>
        public object ExecuteScalar(string strSql, SqlParameter[] Parms)
        {
            object retobject = null;
            try
            {
                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }

                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection = conn;
                        cmd.CommandText = strSql;
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddRange(Parms);
                        conn.Open();
                        retobject = cmd.ExecuteScalar();
                        conn.Close();
                        cmd.Parameters.Clear();

                    }
                }
            }
            catch (Exception ex)
            {
                fn_share fn_share = new fn_share();

                fn_share.systemLog(strSql + ex.Message);

               
            }


            return retobject;
        }
        #endregion

        #region GetDataTable():根據sql返回一個數據表

        /// <summary>
        /// 根據sql返回一個數據表
        /// </summary>
        /// <param name="strSql"></param>
        /// <param name="Parms"></param>
        /// <returns></returns>
        public DataTable GetDataTable(string strSql, SqlParameter[] Parms)
        {
            try
            {
                DataTable dt = new DataTable();
                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }

                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection = conn;
                        cmd.CommandText = strSql;
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddRange(Parms);
                        conn.Open();
                        SqlDataReader dr = cmd.ExecuteReader();
                        dt.Load(dr);
                        conn.Close();

                        cmd.Parameters.Clear();

                    }
                }
                return dt;

            }
            catch (Exception ex)
            {
                fn_share fn_share = new fn_share();

                fn_share.systemLog(strSql + ex.Message);
                return (DataTable)null;
            }
           
        }
        #endregion

        #region GetDataSet():根據sql返回一個數據集

        /// <summary>
        /// 根據sql返回一個數據集
        /// </summary>
        /// <param name="strSql"></param>
        /// <param name="Parms"></param>
        /// <returns></returns>
        public DataSet GetDataSet(string strSql, SqlParameter[] Parms)
        {
           
            try
            {
                DataSet ds = new DataSet();
                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection = conn;
                        cmd.CommandText = strSql;
                        cmd.CommandTimeout = 0;
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddRange(Parms);

                        SqlDataAdapter da = new SqlDataAdapter(cmd);

                        da.Fill(ds);
                        conn.Close();
                        cmd.Parameters.Clear();
                    }
                }
                return ds;
            }
            catch(Exception ex)
            {
                fn_share fn_share = new fn_share();

                fn_share.systemLog(strSql + ex.Message);

                return (DataSet)null;
            }
           
        }
        #endregion
    }

  • 相关阅读:
    js数组从小到大排序
    高效率去掉js数组中重复项
    Oracle start with.connect by prior子句实现递归查询
    ofbiz进击 。 ofbiz 退货流程(包含获取可退货项流程分析 以及 取消退货项的过程分析)
    ofbiz进击 个人遇到的奇葩问题汇总。
    ofbiz进击 第六节。 --OFBiz配置之[widget.properties] 配置属性的分析
    ofbiz进击 第五节。 --OFBiz配置之[general.properties] 共有属性的分析(含email)
    ofbiz进击 第四节。 我的form之旅
    &nbsp|&quot|&amp|&lt|&gt等html字符转义
    ofbiz进击 第三节。 各个关键文件的说明与作用
  • 原文地址:https://www.cnblogs.com/Nina-piaoye/p/3223217.html
Copyright © 2011-2022 走看看