<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.Data.OleDb;
    using System.Data;
    using System.Collections;
    using System.Reflection;
    using System.Runtime.InteropServices;

    namespace Tool
    {
        /// <summary>
        
    /// Access helper
        
    /// </summary>
        public class AccessHelper
        {
            private string accesspath = string.Empty;
            private string accesspwd = string.Empty;

            private string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb";
            OleDbConnection connect = null;
            OleDbCommand command = null;

            /// <summary>
            
    /// 
            
    /// </summary>
            public string ConnectionString
            {
                get { return connectionString; }
                set { connectionString = value; }
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            public string AccessPath
            {
                get { return accesspath; }
                set { accesspath = value; }
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="FilePath">Access path</param>
            public AccessHelper(string FilePath)
            {
                ToFullRootPath(FilePath);
                ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + AccessPath;
                connect = new OleDbConnection(ConnectionString);
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            public AccessHelper()
            {
                connect = new OleDbConnection(ConnectionString);
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="FilePath">Access文件路徑</param>
            
    /// <param name="PassWord">密碼</param>
            public AccessHelper(string FilePath, string PassWord)
            {
                accesspwd = PassWord;
                ToFullRootPath(FilePath);
                ConnectionString = string.Format("Provider=Microsoft.Jet.OleDb.4.0;Data Source={0};User ID=Admin;Jet OLEDB:Database Password={1};", AccessPath, accesspwd);
                connect = new OleDbConnection(ConnectionString);
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            private void Open()
            {
                try
                {
                    if (connect.State != System.Data.ConnectionState.Open)
                    {
                        connect.Open();
                    }

                }
                catch (Exception ex)
                {
                    throw (new Exception(ex.Message));
                }
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            private void Close()
            {
                try
                {
                    if (connect.State != System.Data.ConnectionState.Closed)
                    {
                        connect.Close();
                    }

                }
                catch (Exception ex)
                {
                    throw (new Exception(ex.Message));
                }
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="path"></param>
            private void ToFullRootPath(string path)
            {
                if (System.IO.Path.IsPathRooted(path))
                {
                    AccessPath = path;
                }
                else
                {
                    AccessPath = AppDomain.CurrentDomain.BaseDirectory + path;
                }
            }

            
            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <returns></returns>
            public bool ConnectTest()
            {
                try
                {
                    connect.Open();
                }
                catch
                {
                    connect.Close();
                    return false;
                }
                return true;
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="sqlstr"></param>
            
    /// <returns></returns>
            public int ExecuteNonQuery(string sqlstr)
            {
                try
                {
                    Open();
                    command = new OleDbCommand(sqlstr, connect);
                    int num = command.ExecuteNonQuery();
                    command.Parameters.Clear();
                    Close();
                    return num;
                }
                catch
                { throw; }
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="tableName"></param>
            public void DropTableIfExists(string tableName)
            {
                try
                {
                if (DoesTableExist(tableName) != "")
                {
                    Open();
                    command = new OleDbCommand("DROP TABLE "+tableName, connect);
                    int num = command.ExecuteNonQuery();
                    command.Parameters.Clear();
                    Close();
                    return;
                }
                }
                catch
                { throw; }
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="sqlstr"></param>
            
    /// <returns></returns>
            public string ExecuteScalar(string sqlstr)
            {
                try
                {
                    Open();
                    command = new OleDbCommand(sqlstr, connect);
                    object value = command.ExecuteScalar();
                    command.Parameters.Clear();
                    Close();
                    if (value != null)
                    {
                        return value.ToString();
                    }
                    return "";
                }
                catch
                { throw; }
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="sqlstr">Sql</param>
            
    /// <returns></returns>
            public DataSet ReturnDataSet(string sqlstr)
            {
                DataSet ds = new DataSet();
                try
                {
                    OleDbDataAdapter adapter = new OleDbDataAdapter(sqlstr, connect);
                    adapter.Fill(ds, "Obj");
                    adapter.Dispose();
                }
                catch (Exception)
                {
                    throw;
                }
                return ds;

            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="sqlstr">Sqk</param>
            
    /// <returns></returns>
            public DataTable GetDataTable(string sqlstr)
            {
                DataTable dt = new DataTable();
                try
                {
                    Open();
                    command = new OleDbCommand(sqlstr, connect);
                    OleDbDataReader myReader = command.ExecuteReader();
                    dt.Load(myReader);
                    myReader.Close();
                    Close();
                }
                catch (Exception)
                {
                    throw;
                }
                return dt;
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="sqlstr">Sql</param>
            
    /// <returns></returns>
            public OleDbDataReader ReturnDataReader(string sqlstr)
            {
                try
                {
                    Open();
                    command = new OleDbCommand(sqlstr, connect);
                    OleDbDataReader myReader = command.ExecuteReader();
                    command.Parameters.Clear();
                    Close();
                    return myReader;
                }
                catch (System.Data.SqlClient.SqlException e)
                {
                    throw new Exception(e.Message, e);
                }

            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="SQLStringList"></param>
            public void ExecuteSqlTran(ArrayList SQLStringList)
            {

                Open();
                command = new OleDbCommand();
                command.Connection = connect;
                OleDbTransaction tx = connect.BeginTransaction();
                command.Transaction = tx;
                try
                {
                    for (int n = 0; n < SQLStringList.Count; n++)
                    {
                        string strsql = SQLStringList[n].ToString();
                        if (strsql.Trim().Length > 1)
                        {
                            command.CommandText = strsql;
                            command.ExecuteNonQuery();
                        }
                    }
                    tx.Commit();
                    Close();
                }
                catch (Exception)
                {
                    tx.Rollback();
                    Close();
                    throw;
                }
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <returns></returns>
            public string[] GetTables()
            {
                List<string> Ls = new List<string>();

                Open();
                DataTable dt = connect.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { nullnullnull, "table" });
                Close();
                foreach (DataRow dr in dt.Rows)
                {
                    Ls.Add((string)dr["table_name"]);
                }

                return Ls.ToArray();
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="tableName"></param>
            
    /// <returns></returns>
            public string DoesTableExist(string tableName)
            {
                string[] names = GetTables();
                for (int i = 0; i < names.Length; i++)
                {
                    if (names[i] == tableName)
                        return "true";
                }
                return "";
            }

            /// <summary>
            
    /// 
            
    /// </summary>
            
    /// <param name="TableName"></param>
            
    /// <returns></returns>
            public string[] GetColumns(string TableName)
            {
                Open();
                DataTable dt = connect.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { nullnull, TableName, null });
                Close();
                List<string> Ls = new List<string>();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Ls.Add(dt.Rows[i]["COLUMN_NAME"].ToString());//["COLUMN_NAME"]);
                }
                return Ls.ToArray();
            }
        }
    }
    posted on 2014-05-15 13:55 Ying-er 閱讀(162) 評論(0)  編輯  收藏 所屬分類: .Net
    主站蜘蛛池模板: 97国产免费全部免费观看| 亚洲黄色网址在线观看| 免费无码AV电影在线观看| 三年片免费高清版 | 一级女人18片毛片免费视频 | 最近免费mv在线电影| 99re6在线精品免费观看| 未满十八私人高清免费影院| 亚洲精品无码aⅴ中文字幕蜜桃| 亚洲福利一区二区三区| 久久亚洲AV午夜福利精品一区| 久久亚洲AV永久无码精品| 免费欧洲毛片A级视频无风险| 最近中文字幕mv免费高清视频7 | 91久久亚洲国产成人精品性色| 亚洲一区爱区精品无码| 亚洲人成影院在线无码观看| 免费涩涩在线视频网| 免费看污成人午夜网站| 成人免费激情视频| 在线看片免费人成视久网| 男女作爱在线播放免费网站| 中国性猛交xxxxx免费看| 国产乱子伦精品免费视频| 一级毛片aa高清免费观看| 国产福利电影一区二区三区,免费久久久久久久精 | 日韩精品亚洲aⅴ在线影院| 亚洲高清视频一视频二视频三| 国产一区二区三区无码免费| 国产色爽女小说免费看| 国产免费啪嗒啪嗒视频看看| 成年女人永久免费观看片| 国产青草视频免费观看97| 亚洲精品国产日韩无码AV永久免费网 | 四虎影视精品永久免费| 免费国产综合视频在线看| 无码专区一va亚洲v专区在线| 亚洲AV成人潮喷综合网| 国产成人毛片亚洲精品| 亚洲精品乱码久久久久久久久久久久| 亚洲码国产精品高潮在线|