通用的数据库访问类,包括多种类型数据库,不带事务

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Data;
  5. using System.Data.Common;
  6. using System.Configuration;
  7. using System.Collections;
  8. /****************************************************************************
  9.    *  名称:通用的数据库访问类                                                      
  10.    *  版权:朱久长                       
  11.    *  时间:2008-10-20                                                       
  12.    *  作者                                                         
  13.    *      姓名:  朱久长                                               
  14.    *      电话:                                                 
  15.    *      E-Mail:wenchang4you@126.com                                                
  16.    *  技术说明:              
  17.           通用的数据库访问类,包括多种类型数据库,不带事务,以后会有带事物的新鲜出炉
  18.    *  
  19.   ***************************************************************************/
  20. namespace DAClass
  21. {
  22.     [Serializable]
  23.     public class DAClass
  24.     {
  25.         /// <summary>
  26.         /// Webconfig配置连接字符串
  27.         /// </summary>
  28.         private string _confirString = "ConnectionString";
  29.         
  30.         /// <summary>
  31.         /// 数据工厂类
  32.         /// </summary>
  33.         public DAClass()
  34.         {
  35.         }
  36.         
  37.         /// <summary>
  38.         /// 数据工厂类
  39.         /// </summary>
  40.         /// <param name="configString">web.config 关键字</param>
  41.         public DAClass(string configString)
  42.         {
  43.             ConfigString = configString;
  44.         }
  45.         
  46.         /// <summary>
  47.         /// 属性,设置数据库连接字符串
  48.         /// </summary>
  49.         public string ConfigString
  50.         {
  51.             get
  52.             {
  53.                 return _confirString;
  54.             }
  55.             set
  56.             {
  57.                 _confirString = value;
  58.             }
  59.         }
  60.         //==============================================GetProviderName==============================
  61.         #region 获得数据库的类型 public string GetProviderName(string ConfigString)
  62.         /// <summary>
  63.         /// 返回数据提供者
  64.         /// </summary>
  65.         /// <returns>返回数据提供者</returns>
  66.         public string GetProviderName(string ConfigString)
  67.         {
  68.            
  69.             ConnectionStringSettingsCollection ConfigStringCollention = ConfigurationManager.ConnectionStrings;
  70.             if (ConfigStringCollention == null || ConfigStringCollention.Count <= 0)
  71.             {
  72.                 throw new Exception("web.config 中无连接字符串!");
  73.             }
  74.             ConnectionStringSettings StringSettings = null;
  75.             if (ConfigString == string.Empty)
  76.             {
  77.                 StringSettings = ConfigurationManager.ConnectionStrings["ConnectionString"];
  78.             }
  79.             else
  80.             {
  81.                 StringSettings = ConfigurationManager.ConnectionStrings[ConfigString];
  82.             }
  83.             return StringSettings.ProviderName;
  84.         }
  85.         
  86.         /// <summary>
  87.         /// 返回数据提供者
  88.         /// </summary>
  89.         /// <returns></returns>
  90.         public string GetProviderName()
  91.         {
  92.             return GetProviderName(ConfigString);
  93.         }
  94.         #endregion
  95.         //=====================================================获得连接字符串====================================
  96.         /// <summary>
  97.         /// 获得连接字符串
  98.         /// </summary>
  99.         /// <returns></returns>
  100.         public string GetConnectionString(string ConfigString)
  101.         {
  102.             ConnectionStringSettingsCollection ConfigStringCollention = ConfigurationManager.ConnectionStrings;
  103.             if (ConfigStringCollention == null || ConfigStringCollention.Count <= 0)
  104.             {
  105.                 throw new Exception("web.config 中无连接字符串!");
  106.             }
  107.             ConnectionStringSettings StringSettings = null;
  108.             if (ConfigString == string.Empty)
  109.             {
  110.                 StringSettings = ConfigurationManager.ConnectionStrings["ConnectionString"];
  111.             }
  112.             else
  113.             {
  114.                 StringSettings = ConfigurationManager.ConnectionStrings[ConfigString];
  115.             }
  116.             return StringSettings.ConnectionString;
  117.         }
  118.         public string GetConnectionString()
  119.         {
  120.             return GetConnectionString(ConfigString);
  121.         }
  122.         //==============================================GetDbproviderFactory=========================
  123.         #region 返回数据工厂  public DbProviderFactory GetDbProviderFactory()
  124.         /// <summary>
  125.         /// 返回数据工厂
  126.         /// </summary>
  127.         /// <returns></returns>
  128.         public DbProviderFactory GetDbProviderFactory()
  129.         {
  130.             DbProviderFactory f = null;
  131.             string ProviderName = GetProviderName();
  132.             switch (ProviderName)
  133.             {
  134.                 case "System.Data.SqlClient":
  135.                     f = GetDbProviderFactory("System.Data.SqlClient");
  136.                     break;
  137.                 case "System.Data.OracleClient":
  138.                     f = GetDbProviderFactory("System.Data.OracleClient");
  139.                     break;
  140.                 case "System.Data.OleDb":
  141.                     f = GetDbProviderFactory("System.Data.OleDb");
  142.                     break;
  143.                 default:
  144.                     f = GetDbProviderFactory("System.Data.SqlClient");
  145.                     break;
  146.             }
  147.             return f;
  148.         }
  149.         /// <summary>
  150.         /// 返回数据工厂
  151.         /// </summary>
  152.         /// <param name="providername"></param>
  153.         /// <returns></returns>
  154.         public DbProviderFactory GetDbProviderFactory(string providername)
  155.         {
  156.             return DbProviderFactories.GetFactory(providername);
  157.         }
  158.         #endregion
  159.         //==============================================CreateConnection=============================
  160.         #region 创建数据库连接 public DbConnection CreateConnection()
  161.         /// <summary>
  162.         /// 创建数据库连接
  163.         /// </summary>
  164.         /// <returns></returns>
  165.         public DbConnection CreateConnection()
  166.         {
  167.             DbConnection con = GetDbProviderFactory().CreateConnection();
  168.             con.ConnectionString = GetConnectionString();
  169.             return con;
  170.         }
  171.         
  172.         /// <summary>
  173.         /// 创建数据库连接
  174.         /// </summary>
  175.         /// <param name="provdername"></param>
  176.         /// <returns></returns>
  177.         public DbConnection CreateConnection(string provdername)
  178.         {
  179.             DbConnection con = GetDbProviderFactory(provdername).CreateConnection();
  180.             con.ConnectionString = GetConnectionString();
  181.             return con;
  182.         }
  183.         #endregion
  184.         //==============================================CreateCommand================================
  185.         #region 创建执行命令对象 public override DbCommand CreateCommand(string sql, CommandType cmdType, DbParameter[] parameters)
  186.         /// <summary>
  187.         /// 创建执行命令对象
  188.         /// </summary>
  189.         /// <param name="sql"></param>
  190.         /// <param name="cmdType"></param>
  191.         /// <param name="parameters"></param>
  192.         /// <returns></returns>
  193.         public DbCommand CreateCommand(string sql, CommandType cmdType, DbParameter[] parameters)
  194.         {
  195.             DbCommand _command = GetDbProviderFactory().CreateCommand();
  196.             _command.Connection = CreateConnection();
  197.             _command.CommandText = sql;
  198.             _command.CommandType = cmdType;
  199.             if (parameters != null && parameters.Length > 0)
  200.             {
  201.                 foreach (DbParameter param in parameters)
  202.                 {
  203.                     _command.Parameters.Add(param);
  204.                 }
  205.             }
  206.             return _command;
  207.         }
  208.         /// <summary>
  209.         /// 创建执行命令对象
  210.         /// </summary>
  211.         /// <param name="sql">SQL语句</param>
  212.         /// <returns>执行命令对象实例</returns>
  213.         public DbCommand CreateCommand(string sql)
  214.         {
  215.             DbParameter[] parameters = new DbParameter[0];
  216.             return CreateCommand(sql, CommandType.Text, parameters);
  217.         }
  218.         
  219.         /// <summary>
  220.         /// 创建执行命令对象
  221.         /// </summary>
  222.         /// <param name="sql">SQL语句</param>
  223.         /// <returns>执行命令对象实例</returns>
  224.         public DbCommand CreateCommand(string sql, CommandType cmdtype)
  225.         {
  226.             DbParameter[] parameters = new DbParameter[0];
  227.             return CreateCommand(sql, cmdtype, parameters);
  228.         }
  229.         
  230.         /// <summary>
  231.         /// 创建执行命令对象
  232.         /// </summary>
  233.         /// <param name="sql">SQL语句</param>
  234.         /// <param name="parameters">参数</param>
  235.         /// <returns>执行命令对象实例</returns>
  236.         public DbCommand CreateCommand(string sql, DbParameter[] parameters)
  237.         {
  238.             return CreateCommand(sql, CommandType.Text, parameters);
  239.         }
  240.         #endregion
  241.         //=========================================CreateAdapter()==============================================
  242.         #region 创建数据适配器 CreateAdapter(string sql)
  243.         /// <summary>
  244.         /// 创建数据适配器
  245.         /// </summary>
  246.         /// <param name="sql">SQL,语句</param>
  247.         /// <returns>数据适配器实例</returns>
  248.         public DbDataAdapter CreateAdapter(string sql)
  249.         {
  250.             DbParameter[] parameters = new DbParameter[0];
  251.             return CreateAdapter(sql, CommandType.Text, parameters);
  252.         }
  253.         /// <summary>
  254.         /// 创建数据适配器
  255.         /// </summary>
  256.         /// <param name="sql">SQL语句</param>
  257.         /// <param name="cmdtype">命令类型</param>
  258.         /// <returns>数据适配器实例</returns>
  259.         public DbDataAdapter CreateAdapter(string sql, CommandType cmdtype)
  260.         {
  261.             DbParameter[] parameters = new DbParameter[0];
  262.             return CreateAdapter(sql, cmdtype, parameters);
  263.         }
  264.         
  265.         /// <summary>
  266.         /// 创建数据适配器
  267.         /// </summary>
  268.         /// <param name="connectionString">数据库连接字符串</param>
  269.         /// <param name="sql">SQL语句</param>
  270.         /// <param name="cmdtype">命令类型</param>
  271.         /// <param name="parameters">参数</param>
  272.         /// <returns>数据适配器实例</returns>
  273.         public DbDataAdapter CreateAdapter(string sql, CommandType cmdtype, DbParameter[] parameters)
  274.         {
  275.             DbConnection _connection = CreateConnection();
  276.             DbCommand _command = GetDbProviderFactory().CreateCommand();
  277.             _command.Connection = _connection;
  278.             _command.CommandText = sql;
  279.             _command.CommandType = cmdtype;
  280.             if (parameters != null && parameters.Length > 0)
  281.             {
  282.                 foreach (DbParameter _param in parameters)
  283.                 {
  284.                     _command.Parameters.Add(_param);
  285.                 }
  286.             }
  287.             DbDataAdapter da = GetDbProviderFactory().CreateDataAdapter();
  288.             da.SelectCommand = _command;
  289.             return da;
  290.         }
  291.         #endregion
  292.         //=========================================CreateParameter===================================
  293.         #region 生成参数 public override SqlParameter CreateParameter(string field, string dbtype, string value)
  294.         /// <summary>
  295.         /// 创建参数
  296.         /// </summary>
  297.         /// <param name="field">参数字段</param>
  298.         /// <param name="dbtype">参数类型</param>
  299.         /// <param name="value">参数值</param>
  300.         /// <returns></returns>
  301.         public DbParameter CreateParameter(string field, string dbtype, string value)
  302.         {
  303.             DbParameter p = GetDbProviderFactory().CreateParameter();
  304.             p.ParameterName = field;
  305.             p.Value = value;
  306.             return p;
  307.         }
  308.         #endregion
  309.         //======================================================ExecuteCommand()============================================
  310.         #region 执行非查询语句,并返回受影响的记录行数 ExecuteCommand(string sql)
  311.         /// <summary>
  312.         /// 执行非查询语句,并返回受影响的记录行数
  313.         /// </summary>
  314.         /// <param name="sql">SQL语句</param>
  315.         /// <returns>受影响记录行数</returns>
  316.         public int ExecuteCommand(string sql)
  317.         {
  318.             DbParameter[] parameters = new DbParameter[0];
  319.             return ExecuteCommand(sql, CommandType.Text, parameters);
  320.         }
  321.         /// <summary>
  322.         /// 执行非查询语句,并返回受影响的记录行数
  323.         /// </summary>
  324.         /// <param name="sql">SQL语句</param>
  325.         /// <param name="cmdtype">命令类型</param>
  326.         /// <returns>受影响记录行数</returns>
  327.         public int ExecuteCommand(string sql, CommandType cmdtype)
  328.         {
  329.             DbParameter[] parameters = new DbParameter[0];
  330.             return ExecuteCommand(sql, CommandType.Text, parameters);
  331.         }
  332.         /// <summary>
  333.         /// 执行非查询语句,并返回受影响的记录行数
  334.         /// </summary>
  335.         /// <param name="sql">SQL语句</param>
  336.         /// <param name="parameters">参数</param>
  337.         /// <returns>受影响记录行数</returns>
  338.         public int ExecuteCommand(string sql, DbParameter[] parameters)
  339.         {
  340.             return ExecuteCommand(sql, CommandType.Text, parameters);
  341.         }
  342.         /// <summary>
  343.         ///批量执行SQL语句 
  344.         /// </summary>
  345.         /// <param name="SqlList">SQL列表</param>
  346.         /// <returns></returns>
  347.         public bool ExecuteCommand(ArrayList SqlList)
  348.         {
  349.             DbConnection con = CreateConnection();
  350.             con.Open();
  351.             bool iserror = false;
  352.             string strerror = "";
  353.             DbTransaction SqlTran =con.BeginTransaction();
  354.             try
  355.             {
  356.                 for (int i = 0; i < SqlList.Count; i++)
  357.                 {
  358.                     DbCommand _command = GetDbProviderFactory().CreateCommand();
  359.                     _command.Connection = con;
  360.                     _command.CommandText = SqlList[i].ToString();
  361.                     _command.Transaction = SqlTran;
  362.                     _command.ExecuteNonQuery();
  363.                 }
  364.             }
  365.             catch (Exception ex)
  366.             {
  367.                 iserror = true;
  368.                 strerror = ex.Message;
  369.             }
  370.             finally
  371.             {
  372.                 if (iserror)
  373.                 {
  374.                     SqlTran.Rollback();
  375.                     throw new Exception(strerror);
  376.                 }
  377.                 else
  378.                 {
  379.                     SqlTran.Commit();
  380.                 }
  381.                 con.Close();
  382.             }
  383.             if (iserror)
  384.             {
  385.                 return false;
  386.             }
  387.             else
  388.             {
  389.                 return true;
  390.             }
  391.         }
  392.         /// <summary>
  393.         /// 执行非查询语句,并返回受影响的记录行数
  394.         /// </summary>
  395.         /// <param name="sql">SQL语句</param>
  396.         /// <param name="cmdtype">命令类型</param>
  397.         /// <param name="parameters">参数</param>
  398.         /// <returns>受影响记录行数</returns>
  399.         public int ExecuteCommand(string sql, CommandType cmdtype, DbParameter[] parameters)
  400.         {
  401.             int _result = 0;
  402.             DbCommand _command = CreateCommand(sql, cmdtype, parameters);
  403.             try
  404.             {
  405.                 _command.Connection.Open();
  406.                 _result = _command.ExecuteNonQuery();
  407.             }
  408.             catch (Exception ex)
  409.             {
  410.                 throw new Exception(ex.Message);
  411.             }
  412.             finally
  413.             {
  414.                 _command.Connection.Close();
  415.             }
  416.             return _result;
  417.         }
  418.         #endregion
  419.         //=====================================================ExecuteScalar()=============================================
  420.         #region 执行非查询语句,并返回首行首列的值 ExecuteScalar(string sql)
  421.         /// <summary>
  422.         /// 执行非查询语句,并返回首行首列的值
  423.         /// </summary>
  424.         /// <param name="sql">SQL语句</param>
  425.         /// <returns>Object</returns>
  426.         public object ExecuteScalar(string sql)
  427.         {
  428.             DbParameter[] parameters = new DbParameter[0];
  429.             return ExecuteScalar(sql, CommandType.Text, parameters);
  430.         }
  431.         /// <summary>
  432.         /// 执行非查询语句,并返回首行首列的值
  433.         /// </summary>
  434.         /// <param name="sql">SQL语句</param>
  435.         /// <param name="cmdtype">命令类型</param>
  436.         /// <returns>Object</returns>
  437.         public object ExecuteScalar(string sql, CommandType cmdtype)
  438.         {
  439.             DbParameter[] parameters = new DbParameter[0];
  440.             return ExecuteScalar(sql, CommandType.Text, parameters);
  441.         }
  442.         /// <summary>
  443.         /// 执行非查询语句,并返回首行首列的值
  444.         /// </summary>
  445.         /// <param name="sql">SQL语句</param>
  446.         /// <param name="parameters">参数</param>
  447.         /// <returns>Object</returns>
  448.         public object ExecuteScalar(string sql, DbParameter[] parameters)
  449.         {
  450.             return ExecuteScalar(sql, CommandType.Text, parameters);
  451.         }
  452.         /// <summary>
  453.         /// 执行非查询语句,并返回首行首列的值
  454.         /// </summary>
  455.         /// <param name="sql">SQL语句</param>
  456.         /// <param name="cmdtype">命令类型</param>
  457.         /// <param name="parameters">参数</param>
  458.         /// <returns>Object</returns>
  459.         public object ExecuteScalar(string sql, CommandType cmdtype, DbParameter[] parameters)
  460.         {
  461.             object _result=null;
  462.             DbCommand _command = CreateCommand(sql, cmdtype, parameters);
  463.             try
  464.             {
  465.                 _command.Connection.Open();
  466.                 _result = _command.ExecuteScalar();
  467.             }
  468.             catch
  469.             {
  470.                 throw;
  471.             }
  472.             finally
  473.             {
  474.                 _command.Connection.Close();
  475.             }
  476.             return _result;
  477.         }
  478.         #endregion
  479.         //=====================================================ExecuteReader()=============================================
  480.         #region 执行查询,并以DataReader返回结果集  ExecuteReader(string sql)
  481.         /// <summary>
  482.         /// 执行查询,并以DataReader返回结果集
  483.         /// </summary>
  484.         /// <param name="sql">SQL语句</param>
  485.         /// <returns>IDataReader</returns>
  486.         public DbDataReader ExecuteReader(string sql)
  487.         {
  488.             DbParameter[] parameters = new DbParameter[0];
  489.             return ExecuteReader(sql, CommandType.Text, parameters);
  490.         }
  491.         /// <summary>
  492.         /// 执行查询,并以DataReader返回结果集
  493.         /// </summary>
  494.         /// <param name="sql">SQL语句</param>
  495.         /// <param name="cmdtype">命令类型</param>
  496.         /// <returns>IDataReader</returns>
  497.         public DbDataReader ExecuteReader(string sql, CommandType cmdtype)
  498.         {
  499.             DbParameter[] parameters = new DbParameter[0];
  500.             return ExecuteReader(sql, CommandType.Text, parameters);
  501.         }
  502.         /// <summary>
  503.         /// 执行查询,并以DataReader返回结果集
  504.         /// </summary>
  505.         /// <param name="sql">SQL语句</param>
  506.         /// <param name="parameters">参数</param>
  507.         /// <returns>IDataReader</returns>
  508.         public DbDataReader ExecuteReader(string sql, DbParameter[] parameters)
  509.         {
  510.             return ExecuteReader(sql, CommandType.Text, parameters);
  511.         }
  512.         /// <summary>
  513.         /// 执行查询,并以DataReader返回结果集
  514.         /// </summary>
  515.         /// <param name="sql">SQL语句</param>
  516.         /// <param name="cmdtype">命令类型</param>
  517.         /// <param name="parameters">参数</param>
  518.         /// <returns>IDataReader</returns>
  519.         public DbDataReader ExecuteReader(string sql, CommandType cmdtype, DbParameter[] parameters)
  520.         {
  521.             DbDataReader _result;
  522.             DbCommand _command = CreateCommand(sql, cmdtype, parameters);
  523.             try
  524.             {
  525.                 _command.Connection.Open();
  526.                 _result = _command.ExecuteReader(CommandBehavior.CloseConnection);
  527.             }
  528.             catch
  529.             {
  530.                 throw;
  531.             }
  532.             finally
  533.             {
  534.             }
  535.             return _result;
  536.         }
  537.         #endregion
  538.         //=====================================================GetDataSet()================================================
  539.         #region 执行查询,并以DataSet返回结果集 GetDataSet(string sql)
  540.         /// <summary>
  541.         /// 执行查询,并以DataSet返回结果集
  542.         /// </summary>
  543.         /// <param name="sql">SQL语句</param>
  544.         /// <returns>DataSet</returns>
  545.         public DataSet GetDataSet(string sql)
  546.         {
  547.             DbParameter[] parameters = new DbParameter[0];
  548.             return GetDataSet(sql, CommandType.Text, parameters);
  549.         }
  550.         /// <summary>
  551.         /// 执行查询,并以DataSet返回结果集
  552.         /// </summary>
  553.         /// <param name="sql">SQL语句</param>
  554.         /// <param name="cmdtype">命令类型</param>
  555.         /// <returns>DataSet</returns>
  556.         public virtual DataSet GetDataSet(string sql, CommandType cmdtype)
  557.         {
  558.             DbParameter[] parameters = new DbParameter[0];
  559.             return GetDataSet(sql, CommandType.Text, parameters);
  560.         }
  561.         /// <summary>
  562.         /// 执行查询,并以DataSet返回结果集
  563.         /// </summary>
  564.         /// <param name="sql">SQL语句</param>
  565.         /// <param name="parameters">参数</param>
  566.         /// <returns>DataSet</returns>
  567.         public virtual DataSet GetDataSet(string sql, DbParameter[] parameters)
  568.         {
  569.             return GetDataSet(sql, CommandType.Text, parameters);
  570.         }
  571.         /// <summary>
  572.         /// 执行查询,并以DataSet返回结果集
  573.         /// </summary>
  574.         /// <param name="sql">SQL语句</param>
  575.         /// <param name="cmdtype">命令类型</param>
  576.         /// <param name="parameters">参数</param>
  577.         /// <returns>DataSet</returns>
  578.         public virtual DataSet GetDataSet(string sql, CommandType cmdtype, DbParameter[] parameters)
  579.         {
  580.             DataSet _result = new DataSet();
  581.             IDataAdapter _dataAdapter = CreateAdapter(sql, cmdtype, parameters);
  582.             try
  583.             {
  584.                 _dataAdapter.Fill(_result);
  585.             }
  586.             catch
  587.             {
  588.                 throw;
  589.             }
  590.             finally
  591.             {
  592.             }
  593.             return _result;
  594.         }
  595.         
  596.         /// <summary>
  597.         /// 执行查询,并以DataSet返回指定记录的结果集
  598.         /// </summary>
  599.         /// <param name="sql">SQL语句</param>
  600.         /// <param name="StartIndex">开始索引</param>
  601.         /// <param name="RecordCount">显示记录</param>
  602.         /// <returns>DataSet</returns>
  603.         public virtual DataSet GetDataSet(string sql, int StartIndex, int RecordCount)
  604.         {
  605.             return GetDataSet(sql, StartIndex, RecordCount);
  606.         }
  607.         #endregion
  608.         //=====================================================GetDataView()===============================================
  609.         #region 执行查询,并以DataView返回结果集   GetDataView(string sql)
  610.         /// <summary>
  611.         /// 执行查询,并以DataView返回结果集
  612.         /// </summary>
  613.         /// <param name="sql">SQL语句</param>
  614.         /// <param name="cmdtype">命令类型</param>
  615.         /// <param name="parameters">参数</param>
  616.         /// <returns>DataView</returns>
  617.         public DataView GetDataView(string sql)
  618.         {
  619.             DbParameter[] parameters = new DbParameter[0];
  620.             DataView dv = GetDataSet(sql, CommandType.Text, parameters).Tables[0].DefaultView;
  621.             return dv;
  622.         }
  623.         
  624.         /// <summary>
  625.         /// 执行查询,并以DataView返回结果集
  626.         /// </summary>
  627.         /// <param name="sql">SQL语句</param>
  628.         /// <param name="cmdtype">命令类型</param>
  629.         /// <param name="parameters">参数</param>
  630.         /// <returns>DataView</returns>
  631.         public DataView GetDataView(string sql, CommandType cmdtype)
  632.         {
  633.             DbParameter[] parameters = new DbParameter[0];
  634.             DataView dv = GetDataSet(sql, cmdtype, parameters).Tables[0].DefaultView;
  635.             return dv;
  636.         }
  637.         
  638.         /// <summary>
  639.         /// 执行查询,并以DataView返回结果集
  640.         /// </summary>
  641.         /// <param name="sql">SQL语句</param>
  642.         /// <param name="cmdtype">命令类型</param>
  643.         /// <param name="parameters">参数</param>
  644.         /// <returns>DataView</returns>
  645.         public DataView GetDataView(string sql, DbParameter[] parameters)
  646.         {
  647.             DataView dv = GetDataSet(sql, CommandType.Text, parameters).Tables[0].DefaultView;
  648.             return dv;
  649.         }
  650.         /// <summary>
  651.         /// 执行查询,并以DataView返回结果集
  652.         /// </summary>
  653.         /// <param name="sql">SQL语句</param>
  654.         /// <param name="cmdtype">命令类型</param>
  655.         /// <param name="parameters">参数</param>
  656.         /// <returns>DataView</returns>
  657.         public DataView GetDataView(string sql, CommandType cmdtype, DbParameter[] parameters)
  658.         {
  659.             DataView dv = GetDataSet(sql, cmdtype, parameters).Tables[0].DefaultView;
  660.             return dv;
  661.         }
  662.         /// <summary>
  663.         /// 执行查询,并以DataView返回指定记录的结果集
  664.         /// </summary>
  665.         /// <param name="sql">SQL语句</param>
  666.         /// <param name="StartIndex">开始索引</param>
  667.         /// <param name="RecordCount">显示记录</param>
  668.         /// <returns>DataView</returns>
  669.         public DataView GetDataView(string sql, int StartIndex, int RecordCount)
  670.         {
  671.             return GetDataSet(sql, StartIndex, RecordCount).Tables[0].DefaultView;
  672.         }
  673.         #endregion
  674.         //=====================================================GetDataTable()==============================================
  675.         #region 执行查询,并以DataTable返回结果集   GetDataTable(string sql)
  676.         /// <summary>
  677.         /// 执行查询,并以DataTable返回结果集
  678.         /// </summary>
  679.         /// <param name="sql">SQL语句</param>
  680.         /// <param name="cmdtype">命令类型</param>
  681.         /// <param name="parameters">参数</param>
  682.         /// <returns>DataTable</returns>
  683.         public DataTable GetDataTable(string sql)
  684.         {
  685.             DbParameter[] parameters = new DbParameter[0];
  686.             DataTable dt = GetDataSet(sql, CommandType.Text, parameters).Tables[0];
  687.             return dt;
  688.         }
  689.         
  690.         /// <summary>
  691.         /// 执行查询,并以DataTable返回结果集
  692.         /// </summary>
  693.         /// <param name="sql">SQL语句</param>
  694.         /// <param name="cmdtype">命令类型</param>
  695.         /// <param name="parameters">参数</param>
  696.         /// <returns>DataTable</returns>
  697.         public DataTable GetDataTable(string sql, CommandType cmdtype)
  698.         {
  699.             DbParameter[] parameters = new DbParameter[0];
  700.             DataTable dt = GetDataSet(sql, cmdtype, parameters).Tables[0];
  701.             return dt;
  702.         }
  703.         
  704.         /// <summary>
  705.         /// 执行查询,并以DataTable返回结果集
  706.         /// </summary>
  707.         /// <param name="sql">SQL语句</param>
  708.         /// <param name="cmdtype">命令类型</param>
  709.         /// <param name="parameters">参数</param>
  710.         /// <returns>DataTable</returns>
  711.         public DataTable GetDataTable(string sql, DbParameter[] parameters)
  712.         {
  713.             DataTable dt = GetDataSet(sql, CommandType.Text, parameters).Tables[0];
  714.             return dt;
  715.         }
  716.         /// <summary>
  717.         /// 执行查询,并以DataTable返回结果集
  718.         /// </summary>
  719.         /// <param name="sql">SQL语句</param>
  720.         /// <param name="cmdtype">命令类型</param>
  721.         /// <param name="parameters">参数</param>
  722.         /// <returns>DataTable</returns>
  723.         public DataTable GetDataTable(string sql, CommandType cmdtype, DbParameter[] parameters)
  724.         {
  725.             DataTable dt = GetDataSet(sql, cmdtype, parameters).Tables[0];
  726.             return dt;
  727.         }
  728.         /// <summary>
  729.         /// 执行查询,并以DataTable返回指定记录的结果集
  730.         /// </summary>
  731.         /// <param name="sql">SQL语句</param>
  732.         /// <param name="StartIndex">开始索引</param>
  733.         /// <param name="RecordCount">显示记录</param>
  734.         /// <returns>DataTable</returns>
  735.         public DataTable GetDataTable(string sql, int StartIndex, int RecordCount)
  736.         {
  737.             return GetDataSet(sql, StartIndex, RecordCount).Tables[0];
  738.         }
  739.         /// <summary>
  740.         /// 执行查询,返回以空行填充的指定条数记录集
  741.         /// </summary>
  742.         /// <param name="sql">SQL语句</param>
  743.         /// <param name="SizeCount">显示记录条数</param>
  744.         /// <returns>DataTable</returns>
  745.         public DataTable GetDataTable(string sql, int SizeCount)
  746.         {
  747.             DataTable dt = GetDataSet(sql).Tables[0];
  748.             int b = SizeCount - dt.Rows.Count;
  749.             if (dt.Rows.Count < SizeCount)
  750.             {
  751.                 for (int i = 0; i < b; i++)
  752.                 {
  753.                     DataRow dr = dt.NewRow();
  754.                     dt.Rows.Add(dr);
  755.                 }
  756.             }
  757.             return dt;
  758.         }
  759.         #endregion
  760.     }
  761. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值