C#操作Access之按列讀取mdb淺析
C#操作Access之按列讀取mdb是如何實現(xiàn)的呢?首先我們來看看基本的知識:本文C#操作Access數(shù)據(jù)庫的基礎知識,并提供一個相關的實例。C#的ADO.NET還不能通過編程方式創(chuàng)建全新的ACCESS(MDB)數(shù)據(jù)庫,所以還只能使用ADOX這個來自COM的鏈接庫來操作。
C#操作Access主要知識點如下:
- using System.Data.OleDb;
- using System.Data;
C#操作Access連接字符串:
- String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;
- Data Source=product.mdb";
C#操作Access建立連接:
- OleDbConnection connection = new OleDbConnection(connectionString);
C#操作Access使用OleDbCommand類來執(zhí)行Sql語句:
- OleDbCommand cmd = new OleDbCommand(sql, connection);
- connection.Open();
- cmd.ExecuteNonQuery();
C#操作Access之按列讀取mdb內容實例如下:
columns數(shù)組存儲的是你要查詢的列名稱(必須確保mdb表中存在你要的列)
- // 讀取mdb數(shù)據(jù)
- public static DataTable ReadDataByColumns(string mdbPaht,
- string tableName, string[] columns, ref bool success)
- {
- DataTable dt = new DataTable();
- try
- {
- DataRow dr;
- //1、建立連接 C#操作Access之按列讀取mdb
- string strConn = @"Provider=Microsoft.
- Jet.OLEDB.4.0;Data Source="
- + mdbPath + ";Jet OLEDB:Database Password=haoren";
- OleDbConnection odcConnection =
- new OleDbConnection(strConn);
- //2、打開連接 C#操作Access之按列讀取mdb
- odcConnection.Open();
- //建立SQL查詢
- OleDbCommand odCommand = odcConnection.CreateCommand();
- //3、輸入查詢語句
- string strColumn = "";
- for (int i = 0; i < columns.Length; i++)
- {
- strColumn += columns[i].ToString() + ",";
- }
- strColumn = strColumn.TrimEnd(',');
- odCommand.CommandText = "select "+strColumn+
- " from " + tableName;
- //建立讀取 C#操作Access之按列讀取mdb
- OleDbDataReader odrReader =
- odCommand.ExecuteReader();
- //查詢并顯示數(shù)據(jù) C#操作Access之按列讀取mdb
- int size = odrReader.FieldCount;
- for (int i = 0; i < size; i++)
- {
- DataColumn dc;
- dc = new DataColumn(odrReader.GetName(i));
- dt.Columns.Add(dc);
- }
- while (odrReader.Read())
- {
- dr = dt.NewRow();
- for (int i = 0; i < size; i++)
- {
- dr[odrReader.GetName(i)] = odrReader[
- odrReader.GetName(i)].ToString();
- }
- dt.Rows.Add(dr);
- }
- //關閉連接 C#操作Access之按列讀取mdb
- odrReader.Close();
- odcConnection.Close();
- success = true;
- return dt;
- }
- catch
- {
- success = false;
- return dt;
- }
- }
C#操作Access之按列讀取mdb的基本內容就向你介紹到這里,希望對你了解和學習C#操作Access之按列讀取mdb有所幫助。
【編輯推薦】