欧美日韩一区二区三区四区不卡,日韩欧美视频一区二区三区四区,久久精品欧美一区二区三区不卡,国产精品久久久乱弄

咨詢電話:186 7916 6165 咨詢電話:186 7916 6165 (微信同號)    在線QQ:181796286
NEWS BLOG ·
學無止境
關注開優網絡 關注前沿
封裝的MSSQL的數據庫操作類
封裝的ASP.NET的MYSQL的數據庫操作類

封裝的Access數據庫的操作類(AccessHelper)

發表日期:2015-11-15    文章編輯:南昌開優網絡    瀏覽次數:4162    標簽:ASP.NET應用

using System;
using System.Data;
using System.Data.OleDb;

/// <summary>
///Access數據庫操作類
///創建時間:2012年8月17日
/// </summary>
public class AccessHelper
{
    private OleDbConnection conn = null;
    private OleDbCommand cmd = null;
    private OleDbDataReader sdr = null;


    public AccessHelper()
    {
        //  string connStr = WebConfigurationManager.ConnectionStrings["connStr"].ToString();
        string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|db.mdb";
        conn = new OleDbConnection(connStr);
    }


    /// <summary>創建Command對象
    /// 
    /// </summary>
    /// <param name="sql">SQL語句</param>
    public void CreateCommand(string sql)
    {
        conn.Open();
        cmd = new OleDbCommand(sql, conn);
    }


    /// <summary>添加參數
    /// 
    /// </summary>
    /// <param name="paramName">參數名稱</param>
    /// <param name="value">值</param>
    public void AddParameter(string paramName, object value)
    {
        cmd.Parameters.Add(new OleDbParameter(paramName, value));


    }


    /// <summary>執行不帶參數的增刪改SQL語句
    ///  
    /// </summary>
    /// <param name="cmdText">增刪改SQL語句</param>
    /// <param name="ct">命令類型</param>
    /// <returns></returns>
    public bool ExecuteNonQuery()
    {
        int res;
        try
        {
            res = cmd.ExecuteNonQuery();
            if (res > 0)
            {
                return true;
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            if (conn.State == ConnectionState.Open)
            {
                conn.Close();
            }
        }
        return false;
    }


    /// <summary>執行查詢SQL語句
    ///  
    /// </summary>
    /// <param name="cmdText">查詢SQL語句</param>
    /// <returns></returns>
    public DataTable ExecuteQuery()
    {
        DataTable dt = new DataTable();
        using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
        {
            dt.Load(sdr);
        }
        return dt;
    }


    /// <summary>分頁
    /// 
    /// </summary>
    /// <param name="tblName">表名</param>
    /// <param name="fldName">字段名</param>
    /// <param name="OrderfldName">排序字段名</param>
    /// <param name="OrderType">排序方式:asc或者desc</param>
    /// <param name="strWhere">條件,不用加where</param>
    /// <param name="PageSize">頁大小</param>
    /// <param name="PageIndex">頁索引</param>
    /// <returns></returns>
    public DataTable FengYe(string tblName, string fldName, string OrderfldName, string OrderType, string strWhere, int PageSize, int PageIndex)
    {
        DataTable dt = new DataTable();
        string strSQL = ""; // 主語句 
        string strTmp = ""; // 臨時變量 
        string strOrder = ""; // 排序類型


        if (OrderType == "desc")
        {
            // 降序
            strTmp = "<(select min";
            strOrder = " order by " + OrderfldName + " desc";
        }
        else
        {
            // 升序
            strTmp = ">(select max";
            strOrder = " order by " + OrderfldName + " asc";
        }


        #region 第一頁
        if (PageIndex == 1)
        {
            strTmp = string.IsNullOrEmpty(strWhere) ? "" : " where " + strWhere;
            strSQL = "select top " + PageSize + " " + fldName + " from " + tblName + strTmp + " " + strOrder;
            CreateCommand(strSQL);
            dt = ExecuteQuery();
            return dt;
        }
        #endregion


        #region 不是第一頁
        if (string.IsNullOrEmpty(strWhere))
        {
            // 條件為空
            strSQL = string.Format("select top {0} {1} from {2} where {3}{4}({5}) from (select top {6} {7} from {8} {9}) as tblTmp) {10}", PageSize, fldName, tblName, OrderfldName, strTmp, OrderfldName, (PageIndex - 1) * PageSize, OrderfldName, tblName, strOrder, strOrder);
            CreateCommand(strSQL);
            dt = ExecuteQuery();
        }
        else
        {
            // 條件不為空
            strSQL =string.Format( "select top {0} {1} from {2} where  {3}{4}({5}) from (select top {6} {7} from {8} where {9} {10}) as tblTmp) and {11} {12}",PageSize,fldName,tblName,OrderfldName,strTmp,OrderfldName,(PageIndex-1)*PageSize,OrderfldName,tblName,strWhere,strOrder,strWhere,strOrder);
            CreateCommand(strSQL);
            dt = ExecuteQuery();
        }
        #endregion


        return dt;
    }


    /// <summary>返回查詢SQL語句查詢出的結果的第一行第一列的值
    /// 
    /// </summary>
    /// <returns></returns>
    public string ExecuteScalar()
    {
        string res = "";
        try
        {
            object obj = cmd.ExecuteScalar();
            if (obj != null)
            {
                res = obj.ToString();
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            if (conn.State == ConnectionState.Open)
            {
                conn.Close();
            }
        }
        return res;
    }


}
主站蜘蛛池模板: 津市市| 合阳县| 宁强县| 怀柔区| 镇雄县| 堆龙德庆县| 闻喜县| 股票| 屯留县| 旌德县| 镇江市| 宣化县| 建水县| 潼关县| 五河县| 沧源| 来宾市| 博野县| 莱芜市| 金阳县| 大洼县| 南平市| 宁陵县| 岐山县| 荃湾区| 霸州市| 天门市| 六枝特区| 中阳县| 邯郸市| 麦盖提县| 瓮安县| 左贡县| 天水市| 遵化市| 成都市| 桑植县| 策勒县| 保山市| 河曲县| 库车县|