<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 閱讀(170) 評論(0)  編輯  收藏 所屬分類: .Net
    主站蜘蛛池模板: 一级有奶水毛片免费看| 亚洲妇女水蜜桃av网网站| 免费的黄色网页在线免费观看| 无码免费午夜福利片在线| 亚洲综合男人的天堂色婷婷| 国产成人精品无码免费看| 亚洲精品无码不卡在线播HE| a级毛片毛片免费观看永久| 亚洲乱码国产一区三区| 国产精品99精品久久免费| 亚洲国产成人久久综合碰碰动漫3d| 免费a级毛片无码av| 久久青青成人亚洲精品| 日韩免费无码一区二区三区| 亚洲视频免费播放| 五月婷婷在线免费观看| 亚洲精品久久久久无码AV片软件| 免费高清在线影片一区| 国产av无码专区亚洲av毛片搜 | 亚洲kkk4444在线观看| 午夜dj在线观看免费视频| 校园亚洲春色另类小说合集| 亚洲av无码天堂一区二区三区| h视频在线免费观看| 国产又大又粗又硬又长免费 | 国产一精品一AV一免费| 亚洲美女中文字幕| 毛片免费观看网址| 美女一级毛片免费观看| 亚洲AV永久纯肉无码精品动漫| 中文字幕无码播放免费| fc2免费人成在线| 国产精品无码永久免费888| 在线免费观看亚洲| 免费无码又爽又刺激高潮| 成年大片免费高清在线看黄| 久久久久久久久免费看无码| 无遮挡a级毛片免费看| 亚洲五月六月丁香激情| 免费无码不卡视频在线观看| 免费在线中文日本|