C# Access數據庫操作

jopen 9年前發布 | 6K 次閱讀 C#

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;

namespace AccessPractice  
{  
    public static class AccessHelper  
    {  
        public static bool Execute(string path,string sql)   
        {  
            try  
            {  
                string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";";  
                OleDbConnection odcConnection = new OleDbConnection(strConn);  
                //2、打開連接  
                odcConnection.Open();  
                //建立SQL查詢  
                OleDbCommand odCommand = odcConnection.CreateCommand();  
                //3、輸入查詢語句  
                odCommand.CommandText = sql;  


                odCommand.ExecuteNonQuery();  
                odcConnection.Close();  
                return true;  
            }  
            catch(Exception ex)  
            {  
                return false;  
            }  


        }  


        public static DataTable ReadAllData(string tableName, string mdbPath,int topN, ref bool success)  
        {  
            DataTable dt = new DataTable();  
            try  
            {  
                //1、建立連接  
                string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";";  
                OleDbConnection odcConnection = new OleDbConnection(strConn);  
                //2、打開連接  
                odcConnection.Open();  
                //建立SQL查詢  
                OleDbCommand odCommand = odcConnection.CreateCommand();  
                //3、輸入查詢語句  
                odCommand.CommandText = "select * from " + tableName;  
                //建立讀取  
                OleDbDataReader odrReader = odCommand.ExecuteReader();  
                //查詢并顯示數據  
                int size = odrReader.FieldCount;  
                for (int i = 0; i < size; i++)  
                {  
                    DataColumn dc;  
                    dc = new DataColumn(odrReader.GetName(i));  
                    dt.Columns.Add(dc);  
                }  
                DataRow dr;  
                int count = 0;  
                while (odrReader.Read())  
                {  
                    if (++count == topN)   
                    {  
                        break;  
                    }  
                    dr = dt.NewRow();  
                    for (int i = 0; i < size; i++)  
                    {  
                        dr[odrReader.GetName(i)] = odrReader[odrReader.GetName(i)].ToString();  
                    }  
                    dt.Rows.Add(dr);  
                }  
                //關閉連接  
                odrReader.Close();  
                odcConnection.Close();  
                success = true;  
                return dt;  
            }  
            catch  
            {  
                success = false;  
                return dt;  
            }  
        }  


    }  
}  </pre> 


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!