<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.Collections;
    using System.Data.SQLite;
    using System.Data.Common;
    namespace Common.Dba
    {
        class DbSqlLiteData:DbAccess
        {
             new SQLiteCommand cmd = null;
            public DbSqlLiteData()
            {
                //
                // TODO: 在此處添加構(gòu)造函數(shù)邏輯
                //
                conn = new SQLiteConnection();
                conn.ConnectionString = ConnectionString;//Convert.ToString(ConfigurationManager.AppSettings["datasource"]); //Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["datasource"]);
                //conn.ConnectionString = "initial catalog=idyan_new;data source=.;user id=bt;password=btbtbtbt;Connect Timeout=5000";
                cmd = new SQLiteCommand();
                cmd.Connection = conn as SQLiteConnection;
                cmd.CommandTimeout = 0;

            }
            public DbSqlLiteData(string constr)
            {

                //
                // TODO: 在此處添加構(gòu)造函數(shù)邏輯
                //
                conn = new SQLiteConnection();
                //conn.ConnectionString = "initial catalog=pubs;data source=.;user id=sa;password=";
                //conn.ConnectionString = Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["datasource"]);
                conn.ConnectionString = constr;// "initial catalog=idyan_new;data source=.;user id=bt;password=btbtbtbt";
                cmd = new SQLiteCommand();
                cmd.Connection = conn as SQLiteConnection;
                cmd.CommandTimeout = 0;

            }
            /// <summary>
            /// 獲取數(shù)據(jù)根據(jù)Sql語(yǔ)句
            /// </summary>
            /// <param name="Sql"></param>
            /// <returns></returns>
            public override DataTable GetTable(string sql)
            {
                DataSet ds = new DataSet();

                try
                {
                    cmd.CommandText = sql;
                    cmd.CommandType = CommandType.Text;
                    SQLiteDataAdapter da = new SQLiteDataAdapter();
                    da.SelectCommand = cmd;
                    da.Fill(ds);
                }
                catch (Exception ex)
                {

                 
                    return null;

                }
                return ds.Tables[0] ?? new DataTable();
            }
            /// <summary>
            /// 獲取數(shù)據(jù)根據(jù)sql語(yǔ)句
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public override DataSet GetDataSet(string sql)
            {
                DataSet ds = new DataSet();

                try
                {
                    cmd.CommandText = sql;
                    cmd.CommandType = CommandType.Text;
                    SQLiteDataAdapter da = new SQLiteDataAdapter();
                    da.SelectCommand = cmd;

                    da.Fill(ds);
                }
                catch (Exception ex)
                {

                  
                    return null;

                }
                return ds;
            }
            /// <summary>
            /// 獲取數(shù)據(jù)根據(jù)sql語(yǔ)句
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public override DataSet GetDataSet(string sql, DbParameter[] pas)
            {
                DataSet ds = new DataSet();

                try
                {
                    cmd.Parameters.Clear();
                    cmd.CommandText = sql;
                    foreach (SQLiteParameter pa in pas)
                    {
                        cmd.Parameters.Add(pa);
                    }
                    cmd.CommandType = CommandType.Text;
                    SQLiteDataAdapter da = new SQLiteDataAdapter();
                    da.SelectCommand = cmd;

                    da.Fill(ds);
                }
                catch (Exception ex)
                {

                 
                    return null;

                }
                return ds;
            }
            /// <summary>
            /// 獲取數(shù)據(jù)根據(jù)sql語(yǔ)句 帶參數(shù) 的
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pas"></param>
            /// <returns></returns>
            public override DataTable GetTable(string sql, params DbParameter[] pas)
            {
                DataSet ds = new DataSet();
                try
                {
                    cmd.CommandText = sql;
                    cmd.CommandType = CommandType.Text;
                    SQLiteDataAdapter da = new SQLiteDataAdapter();
                    da.SelectCommand = cmd;
                    cmd.Parameters.Clear();

                    foreach (SQLiteParameter temppa in pas)
                    {
                        cmd.Parameters.Add(temppa);
                    }


                    da.Fill(ds);
                }
                catch (Exception ex)
                {


                    return null;
                }
                return ds.Tables[0] ?? new DataTable();
            }
            /// <summary>
            /// 獲取數(shù)據(jù)根據(jù)sql語(yǔ)句 帶參數(shù) 的
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pas"></param>
            /// <returns></returns>
            public override DataTable GetProcTable(string procname, params DbParameter[] pas)
            {
                DataSet ds = new DataSet();
                try
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = procname;
                    //cmd.CommandText = sql;
                    SQLiteDataAdapter da = new SQLiteDataAdapter();
                    da.SelectCommand = cmd;
                    cmd.Parameters.Clear();

                    foreach (SQLiteParameter temppa in pas)
                    {
                        cmd.Parameters.Add(temppa);
                    }

     

                    da.Fill(ds);
                }
                catch (Exception ex)
                {


                    return null;
                }
                return ds.Tables[0] ?? new DataTable();
            }
            /// <summary>
            /// 獲取數(shù)據(jù)根據(jù)sql語(yǔ)句 帶參數(shù) 的
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pas"></param>
            /// <returns></returns>
            public override DataTable GetProcCursorTable(string procname, params DbParameter[] pas)
            {
                DataSet ds = new DataSet();
                try
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = procname;
                    //cmd.CommandText = sql;
                    SQLiteDataAdapter da = new SQLiteDataAdapter();
                    da.SelectCommand = cmd;
                    cmd.Parameters.Clear();

                    foreach (SQLiteParameter temppa in pas)
                    {
                        cmd.Parameters.Add(temppa);
                    }

     

                    da.Fill(ds);
                }
                catch (Exception ex)
                {


                    return null;
                }
                return ds.Tables[1] ?? new DataTable();
            }
            /// <summary>
            /// 獲取數(shù)據(jù)根據(jù)sql語(yǔ)句 帶參數(shù) 的
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pas"></param>
            /// <returns></returns>
            public override int GetProcState(string procname, params DbParameter[] pas)
            {
                int state = 0;
                try
                {
                    OpenConn();
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = procname;
                    cmd.Parameters.Clear();
                    foreach (SQLiteParameter temppa in pas)
                    {
                        cmd.Parameters.Add(temppa);
                    }
                    cmd.ExecuteNonQuery();
                    CloseConn();
                    state = Convert.ToInt32(pas[pas.Length - 1].Value);

                }
                catch
                {
                    return 0;
                }
                return state;
            }
            /// <summary>
            /// 獲取數(shù)據(jù)根據(jù)sql語(yǔ)句 帶參數(shù) 的
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pas"></param>
            /// <returns></returns>
            public override int GetProcStateNo(string procname, params DbParameter[] pas)
            {
                int state = 0;
                try
                {
                    OpenConn();
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = procname;
                    cmd.Parameters.Clear();
                    foreach (SQLiteParameter temppa in pas)
                    {
                        cmd.Parameters.Add(temppa);
                    }
                    cmd.ExecuteNonQuery();
                    CloseConn();
                    state = 1;

                    // state = Convert.ToInt32(pas[pas.Length - 1].Value);

                }
                catch
                {

                    return 0;
                }
                return state;
            }
            /// <summary>
            /// 存儲(chǔ)過(guò)程返回值的
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pas"></param>
            /// <returns></returns>
            public override string GetProcStateReturnValue(string procname, params DbParameter[] pas)
            {
                string state = "";
                try
                {
                    OpenConn();
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = procname;
                    cmd.Parameters.Clear();
                    foreach (SQLiteParameter temppa in pas)
                    {
                        cmd.Parameters.Add(temppa);
                    }
                    cmd.Parameters.AddWithValue("@Return_Value", "").Direction = ParameterDirection.ReturnValue;
                    cmd.ExecuteNonQuery();
                    state = Convert.ToString(cmd.Parameters["@Return_Value"].Value);
                    state = state == null ? ("") : (state);
                    CloseConn();


                    // state = Convert.ToInt32(pas[pas.Length - 1].Value);

                }
                catch
                {

                    return "";
                }
                return state;
            }
            /// <summary>
            /// 根據(jù)sql語(yǔ)句返回跟新?tīng)顟B(tài)
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public override bool GetState(string sql)
            {
                bool succ = false;
                try
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = sql;
                    OpenConn();
                    succ = cmd.ExecuteNonQuery() > 0 ? (true) : (false);
                    CloseConn();
                }
                catch (Exception ex)
                {


                    return false;
                }
                return succ;

            }
            /// <summary>
            /// 根據(jù)sql語(yǔ)句返回跟新?tīng)顟B(tài)帶參數(shù)的
            /// </summary>
            /// <param name="sql">sql語(yǔ)句</param>
            /// <param name="pas">參數(shù)的集合</param>
            /// <returns></returns>
            public override bool GetState(string sql, params DbParameter[] pas)
            {
                bool succ = false;
                try
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = sql;
                    cmd.Parameters.Clear();

                    foreach (SQLiteParameter temppa in pas)
                    {
                        cmd.Parameters.Add(temppa);
                    }
                    OpenConn();
                    succ = cmd.ExecuteNonQuery() > 0 ? (true) : (false);
                    CloseConn();
                }
                catch
                {

                    // this.ShowError(ex.Message);
                    //using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\error2008.txt"))
                    //{
                    //    sw.Write(ex.Message);
                    //    sw.Flush();
                    //}
                    return false;
                }
                return succ;

            }
            /// <summary>
            /// 根據(jù)sql語(yǔ)句返回第一個(gè)單元格的數(shù)據(jù)
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public override string GetOne(string sql)
            {
                string res = "";
                try
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = sql;
                    OpenConn();
                    res = cmd.ExecuteScalar() == null ? ("") : (Convert.ToString(cmd.ExecuteScalar()));
                    CloseConn();
                }
                catch (Exception ex)
                {


                    return null;
                }
                return res;
            }
            /// <summary>
            ///  根據(jù)sql語(yǔ)句返回第一個(gè)單元格的數(shù)據(jù)帶參數(shù)的
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pas"></param>
            /// <returns></returns>
            public override string GetOne(string sql, params DbParameter[] pas)
            {
                string res = "";
                try
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = sql;
                    cmd.Parameters.Clear();

                    foreach (SQLiteParameter temppa in pas)
                    {
                        cmd.Parameters.Add(temppa);
                    }
                    OpenConn();
                    res = cmd.ExecuteScalar() == null ? ("") : (Convert.ToString(cmd.ExecuteScalar()));
                    CloseConn();
                }
                catch (Exception ex)
                {
                    CloseConn();

                    return null;
                }
                return res;
            }
            /// <summary>
            /// 返回?cái)?shù)據(jù)的DataReader
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public override DbDataReader GetDataReader(string sql)
            {
                SQLiteDataReader dr = null;
                try
                {
                    cmd.CommandType = CommandType.Text;
                    conn.Open();
                    cmd.CommandText = sql;
                    dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                }
                catch (Exception ex)
                {


                    return null;
                }
                return dr;
            }
            /// <summary>
            /// 返回?cái)?shù)據(jù)的DataReader帶參數(shù)的
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pas"></param>
            /// <returns></returns>
            public override DbDataReader GetDataReader(string sql, params DbParameter[] pas)
            {
                SQLiteDataReader dr = null;
                try
                {
                    cmd.CommandType = CommandType.Text;
                    conn.Open();
                    cmd.Parameters.Clear();

                    foreach (SQLiteParameter temppa in pas)
                    {
                        cmd.Parameters.Add(temppa);
                    }

                    cmd.CommandText = sql;
                    dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                }
                catch (Exception ex)
                {


                    return null;
                }
                return dr;
            }
            /// <summary>
            /// 事務(wù)處理函數(shù)
            /// </summary>
            /// <param name="al"></param>
            /// <returns></returns>
            public override bool GetTranState(ArrayList al)
            {
                cmd.CommandType = CommandType.Text;
                OpenConn();
                SQLiteTransaction tran = (conn as SQLiteConnection).BeginTransaction();
                cmd.Transaction = tran;
                try
                {
                    for (int i = 0; i < al.Count; i++)
                    {
                        cmd.CommandText = Convert.ToString(al[i]);
                        cmd.ExecuteNonQuery();
                    }

                    tran.Commit();
                    CloseConn();
                }
                catch
                {

                    tran.Rollback();
                    CloseConn();
                    return false;
                }
                return true;

            }
          
            /// <summary>
            /// 分頁(yè)函數(shù)
            /// </summary>
            /// <param name="pagesize"></param>
            /// <param name="columns"></param>
            /// <param name="tablename"></param>
            /// <param name="pid"></param>
            /// <param name="order"></param>
            /// <param name="current"></param>
            /// <returns></returns>
            public override DataTable GetPageData(int current, int pagesize, string columns, string tablename, string pid, string where, string order)
            {
                current = current - 1 >= 0 ? (current - 1) : (0);
                string sql = string.Format("select top {0} {1} from {2} where 1=1 and {3} not in(select top {4}{3} from {2} where 1=1{5}  order by {6}){5} order by {6}", pagesize, columns, tablename, pid, current * pagesize, where, order);
                return GetTable(sql);
              
            }
            /// <summary>
            /// 分頁(yè)存儲(chǔ)過(guò)程的調(diào)用
            /// </summary>
            /// <param name="current"></param>
            /// <param name="pagesize"></param>
            /// <param name="columns"></param>
            /// <param name="tablename"></param>
            /// <param name="pid"></param>
            /// <param name="where"></param>
            /// <param name="order"></param>
            /// <returns></returns>
            public override DataTable GetProcPageData(int current, int pagesize, string columns, string tablename, string pid, string where, string order, string ordertype)
            {
                SQLiteParameter[] pas = { new SQLiteParameter("@PageIndex", current), new SQLiteParameter("@PageSize", pagesize), new SQLiteParameter("@Columns", columns), new SQLiteParameter("@Tablename", tablename), new SQLiteParameter("@Where", where), new SQLiteParameter("@Order", order), new SQLiteParameter("@OrderType", ordertype), new SQLiteParameter("@Pid", pid) };
                return GetProcTable("Pages", pas);
                //current = current - 1 >= 0 ? (current - 1) : (0);
                //string sql = string.Format("select top {0} {1} from {2} where 1=1 and {3} not in(select top {4}{3} from {2} where 1=1{5}  order by {6}){5} order by {6}", pagesize, columns, tablename, pid, current * pagesize, where, order);
                //return GetTable(sql);
            }
            /// <summary>
            /// 分頁(yè)存儲(chǔ)過(guò)程的調(diào)用
            /// </summary>
            /// <param name="current"></param>
            /// <param name="pagesize"></param>
            /// <param name="columns"></param>
            /// <param name="tablename"></param>
            /// <param name="pid"></param>
            /// <param name="where"></param>
            /// <param name="order"></param>
            /// <returns></returns>
            public override DataTable GetProcData(int current, int pagesize, string columns, string tablename, string pid, string where, string order, string resultCount, string distinct)
            {

                SQLiteParameter[] pas = { new SQLiteParameter("@TableNames", DbType.String), new SQLiteParameter("@PrimaryKey", DbType.String), new SQLiteParameter("@Order", DbType.String), new SQLiteParameter("@CurrentPage", DbType.Int32), new SQLiteParameter("@PageSize", DbType.Int32), new SQLiteParameter("@Fields", DbType.String), new SQLiteParameter("@Filter", DbType.String), new SQLiteParameter("@ResultCount", DbType.String), new SQLiteParameter("@distinct", DbType.String) };
                pas[0].Value = tablename;
                pas[1].Value = pid;
                pas[2].Value = order;
                pas[3].Value = current;
                pas[4].Value = pagesize;
                pas[5].Value = columns;
                pas[6].Value = where;
                pas[7].Value = resultCount;
                pas[8].Value = distinct;
                return this.GetProcTable("Pages", pas);
          
            }
            /// <summary>
            /// 分頁(yè)存儲(chǔ)過(guò)程的調(diào)用
            /// </summary>
            /// <param name="current"></param>
            /// <param name="pagesize"></param>
            /// <param name="columns"></param>
            /// <param name="tablename"></param>
            /// <param name="pid"></param>
            /// <param name="where"></param>
            /// <param name="order"></param>
            /// <returns></returns>
            public override DataTable GetProcAdminData(int current, int pagesize, string columns, string tablename, string pid, string where, string order, string resultCount, string distinct)
            {
                SQLiteParameter[] pas = { new SQLiteParameter("@TableNames", DbType.String), new SQLiteParameter("@PrimaryKey", DbType.String), new SQLiteParameter("@Order", DbType.String), new SQLiteParameter("@CurrentPage", DbType.Int32), new SQLiteParameter("@PageSize", DbType.Int32), new SQLiteParameter("@Fields", DbType.String), new SQLiteParameter("@Filter", DbType.String), new SQLiteParameter("@ResultCount", DbType.String), new SQLiteParameter("@Distinct", DbType.String) };
                pas[0].Value = tablename;
                pas[1].Value = pid;
                pas[2].Value = order;
                pas[3].Value = current;
                pas[4].Value = pagesize;
                pas[5].Value = columns;
                pas[6].Value = where;
                pas[7].Value = resultCount;
                pas[8].Value = distinct;
                return this.GetProcTable("Pages", pas);

            }
            public override DbParameter[] MakeParameters(params string[] str)
            {
                SQLiteParameter[] pas = new SQLiteParameter[str.Length/ 2];
                for (int i = 0; i < str.Length / 2; i++)
                {
                    pas[i] = new SQLiteParameter(string.Format("@{0}", str[2 * i]), str[2 * i + 1]);
                }
                return pas;
            }
        }
    }

    posted on 2009-09-02 11:07 sanmao 閱讀(201) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 国产一区二区免费在线| 精品国产sm捆绑最大网免费站 | 亚洲日韩中文字幕| 亚洲av无码片在线观看| 亚洲精品无码少妇30P| 一级毛片免费全部播放| 免费一级不卡毛片| 青青青国产在线观看免费网站| 大香人蕉免费视频75| 亚洲区不卡顿区在线观看| 亚洲精品无码不卡在线播放HE| 亚洲视频在线免费看| 亚洲av成人一区二区三区观看在线| 一级毛片完整版免费播放一区| 久9久9精品免费观看| 无码高潮少妇毛多水多水免费| 午夜亚洲福利在线老司机| 午夜影视日本亚洲欧洲精品一区| 亚洲综合伊人制服丝袜美腿| 国产亚洲精品精品精品| 99麻豆久久久国产精品免费| 91麻豆最新在线人成免费观看 | 久久综合亚洲色HEZYO国产| 无码乱人伦一区二区亚洲| 亚洲成a∨人片在无码2023 | 免费无码AV电影在线观看| 亚洲精品A在线观看| 蜜芽亚洲av无码精品色午夜| 亚洲欧美不卡高清在线| av网站免费线看| 国产精品1024永久免费视频| 亚洲AV之男人的天堂| 噜噜噜亚洲色成人网站∨| 国产亚洲高清在线精品不卡| 午夜不卡久久精品无码免费 | 免费很黄很色裸乳在线观看| 亚洲AV无码乱码国产麻豆穿越 | 成人A毛片免费观看网站| 手机在线毛片免费播放| 亚洲精品二区国产综合野狼| 亚洲色一区二区三区四区|