來源

ASP.NET Starter Kits 的 Portal 專案。

 

用途

處理資料庫連接、計算資料筆數、返回各類資料集合(DataReader,DataSet,DataTable)。

 

原始碼

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Data.Common;
using System.Data.Odbc;
using System.Reflection;


namespace SybaseUtility
{
    public class DbHelper
    {
        public OdbcConnection DbCnn(string cString)
        {
            OdbcConnection Cnn = new OdbcConnection();
            Cnn.ConnectionString = cString;
            Cnn.Open();

            return Cnn;
        }

        public OdbcDataReader ReturnDataReader(string queryString, OdbcConnection innerCnn)
        {
            OdbcCommand Cmd = new OdbcCommand(queryString, innerCnn);

            Cmd.CommandType = CommandType.Text;
            Cmd.CommandText = queryString;
            Cmd.Connection = innerCnn;

            OdbcDataReader odr = Cmd.ExecuteReader();

            innerCnn.Close();

            return odr;
        }

        public DataTable ReturnDataTable(string queryString, OdbcConnection innerCnn)
        {
            OdbcDataAdapter oda = new OdbcDataAdapter(queryString, innerCnn);
            DataTable dt = new DataTable();

            oda.Fill(dt);

            innerCnn.Close();

            if (dt.Rows.Count > 0)
                return dt;
            else
                return null;
        }

        public DataSet ReturnDataSet(string queryString, OdbcConnection innerCnn, string tableCaption)
        {
            OdbcDataAdapter oda = new OdbcDataAdapter(queryString, innerCnn);
            DataSet ds = new DataSet();

            oda.Fill(ds, tableCaption);

            innerCnn.Close();

            return ds;
        }

        public int ReturnQueryCount(string queryString, OdbcConnection innerCnn)
        {
            OdbcCommand cmd = new OdbcCommand(queryString, innerCnn);
            int qCount = cmd.ExecuteNonQuery();

            innerCnn.Close();

            return qCount;
        }

        public static IDataReader ExecuteReader(string queryString, OdbcConnection innerCnn, params OdbcParameter[] Parameters)
        {
            OdbcCommand cmd = new OdbcCommand();

            cmd.Connection = innerCnn;
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = queryString;
            cmd.Parameters.AddRange(Parameters);

            OdbcDataReader odr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

            innerCnn.Close();

            return odr;
        }
    }
}

 

posted on 2015-12-01 10:21  吉格艾諾  阅读(160)  评论(0编辑  收藏  举报