C#操做Access

C#操做Access數據庫的基礎知識淺析web

C#操做Access數據庫的基礎知識都有什麼呢?sql

C#操做Access數據庫的基礎知識1.數據庫

經過ADO.NET的OleDb相關類來操做Access編程

主要知識點以下:數組

  1. using System.Data.OleDb;  
  2. using System.Data; 

鏈接字符串:ide

  1. String connectionString =   
  2. "Provider=Microsoft.Jet.OLEDB.4.0;  
  3. Data Source=product.mdb"; 

創建鏈接:學習

  1. OleDbConnection connection =   
  2. new OleDbConnection(connectionString); 

使用OleDbCommand類來執行Sql語句:spa

  1. OleDbCommand cmd = new OleDbCommand(sql, connection);  
  2. connection.Open();  
  3. cmd.ExecuteNonQuery(); 

C#操做Access數據庫的基礎知識2.對象

取得Access自增標識字段在插入數據後的id值事務

  1. cmd.CommandText = @"select @@identity";  
  2. int value = Int32.Parse(cmd.ExecuteScalar().ToString());  
  3. return value; 

C#操做Access數據庫的基礎知識3.

執行事務

須要用到OleDbTransaction,關鍵語句以下:

  1. OleDbConnection connection = new OleDbConnection(connectionString);  
  2. OleDbCommand cmd = new OleDbCommand();  
  3. OleDbTransaction transaction = null;  
  4. cmd.Connection = connection;  
  5. connection.Open();  
  6. transaction = connection.BeginTransaction();  
  7. cmd.Transaction = transaction;  
  8. cmd.CommandText=sql1;  
  9. cmd.ExecuteNonQuery();  
  10. cmd.CommandText=sql2;  
  11. cmd.ExecuteNonQuery();  
  12. transaction.Commit(); 

C#操做Access數據庫的基礎知識4.

執行查詢,返回DataSet

  1. OleDbConnection connection =   
  2. new OleDbConnection(connectionString);  
  3. DataSet ds = new DataSet();  
  4. connection.Open();  
  5. OleDbDataAdapter da =   
  6. new OleDbDataAdapter(sql, connection);  
  7. da.Fill(ds,"ds"); 

C#操做Access數據庫的基礎知識5.

分頁查詢

分頁查詢使用OleDbDataReader來讀取數據,並將結果寫到一個DataSet中返回。

以上內容封裝爲三個可重用的類:AccessDBUtil,AccessPageUtil,Page

C#操做Access數據庫的基礎知識的基本狀況就向你介紹到這裏,但願對你學習C#操做Access數據庫的基礎知識有所幫助。

  • C#操做Access之建立mdb庫淺析

C#操做Access之建立mdb庫是如何實現的呢?首先咱們來看看基本的知識:本文C#操做Access數據庫的基礎知識,並提供一個相關的實例。C#的ADO.NET還不能經過編程方式建立全新的ACCESS(MDB)數據庫,因此還只能使用ADOX這個來自COM的連接庫來操做。

C#操做Access主要知識點以下:

  1. using System.Data.OleDb;  
  2. using System.Data; 

C#操做Access鏈接字符串:

  1. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;  
  2. Data Source=product.mdb"; 

C#操做Access創建鏈接:

  1. OleDbConnection connection = new OleDbConnection(connectionString); 

C#操做Access使用OleDbCommand類來執行Sql語句:

  1. OleDbCommand cmd = new OleDbCommand(sql, connection);  
  2. connection.Open();  
  3. cmd.ExecuteNonQuery(); 

C#操做Access之建立mdb庫,例程以下:

須要注意的是:參數mdbPath是mdb的完整路徑(不包含表的名稱)。

C#操做Access之建立mdb庫實例:D:\\test.mdb

  1. //建立mdb   
  2. public static bool CreateMDBDataBase(string mdbPath)   
  3. {  
  4. try 
  5. {  
  6. ADOX.CatalogClass cat = new ADOX.CatalogClass();  
  7. cat.Create(  
  8. "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="   
  9. + mdbPath + ";");  
  10. cat = null;  
  11. return true;  
  12. }  
  13. //C#操做Access之建立mdb
  14. catch {  
  15. return false;  
  16. }  

C#操做Access之建立mdb庫的基本內容就向你介紹到這裏,但願對你瞭解和學習C#操做Access之建立mdb庫有所幫助。

  • C#操做Access之建立表淺析

C#操做Access之建立表是如何實現的呢?首先咱們來看看基本的知識:本文C#操做Access數據庫的基礎知識,並提供一個相關的實例。C#的ADO.NET還不能經過編程方式建立全新的ACCESS(MDB)數據庫,因此還只能使用ADOX這個來自COM的連接庫來操做。

C#操做Access主要知識點以下:

  1. using System.Data.OleDb;  
  2. using System.Data; 

C#操做Access鏈接字符串:

  1. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;  
  2. Data Source=product.mdb"; 

C#操做Access創建鏈接:

  1. OleDbConnection connection = new OleDbConnection(connectionString); 

C#操做Access使用OleDbCommand類來執行Sql語句:

  1. OleDbCommand cmd = new OleDbCommand(sql, connection);  
  2. connection.Open();  
  3. cmd.ExecuteNonQuery(); 

C#操做Access之建立表,例程以下:

一般一個mdb的能夠包含n個表。下面的程序主要是建立一個table。

  1. //新建mdb的表,C#操做Access之建立表 
  2. //mdbHead是一個ArrayList,存儲的是table表中的具體列名。  
  3. public static bool CreateMDBTable(  
  4. string mdbPath,string tableName, ArrayList mdbHead)   
  5. {   
  6. try   
  7. {   
  8. ADOX.CatalogClass cat = new ADOX.CatalogClass();   
  9. string sAccessConnection = @"Provider=Microsoft.Jet.OLEDB.4.0;  
  10. Data Source=" + mdbPath;   
  11. ADODB.Connection cn = new ADODB.Connection();   
  12. cn.Open(sAccessConnection, null, null, -1);   
  13. cat.ActiveConnection = cn;   
  14. //新建一個表,C#操做Access之建立表
  15. ADOX.TableClass tbl = new ADOX.TableClass();   
  16. tbl.ParentCatalog = cat;   
  17. tbl.Name = tableName;   
  18. int size = mdbHead.Count;   
  19. for (int i = 0; i < size; i++)   
  20. {   
  21. //增長一個文本字段   
  22. ADOX.ColumnClass col2 = new ADOX.ColumnClass();   
  23. col2.ParentCatalog = cat;   
  24. col2.Name = mdbHead[i].ToString();//列的名稱   
  25. col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;   
  26. tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarWChar, 500);   
  27. }   
  28. cat.Tables.Append(tbl);    
  29. //這句把表加入數據庫(很是重要)  ,C#操做Access之建立表 
  30. tbl = null;   
  31. cat = null;   
  32. cn.Close();   
  33. return true;   
  34. }   
  35. catch { return false; }   

C#操做Access之建立表的基本內容就向你介紹到這裏,但願對你瞭解和學習C#操做Access之建立表有所幫助。

  • C#操做Access之讀取mdb淺析

C#操做Access之讀取mdb是如何實現的呢?首先咱們來看看基本的知識:本文C#操做Access數據庫的基礎知識,並提供一個相關的實例。C#的ADO.NET還不能經過編程方式建立全新的ACCESS(MDB)數據庫,因此還只能使用ADOX這個來自COM的連接庫來操做。

C#操做Access主要知識點以下:

  1. using System.Data.OleDb;  
  2. using System.Data; 

C#操做Access鏈接字符串:

  1. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;  
  2. Data Source=product.mdb"; 

C#操做Access創建鏈接:

  1. OleDbConnection connection = new OleDbConnection(connectionString); 

C#操做Access使用OleDbCommand類來執行Sql語句:

  1. OleDbCommand cmd = new OleDbCommand(sql, connection);  
  2. connection.Open();  
  3. cmd.ExecuteNonQuery(); 

C#操做Access之讀取mdb實例以下:

本例返回的是一個DataTable,如需其餘格式能夠自行轉換。

  1. // 讀取mdb數據   
  2. public static DataTable ReadAllData(string tableName,   
  3. string mdbPath,ref bool success)   
  4. {   
  5. DataTable dt = new DataTable();   
  6. try   
  7. {   
  8. DataRow dr;   
  9. //1、創建鏈接 C#操做Access之讀取mdb  
  10. string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="   
  11. + mdbPath + ";Jet OLEDB:Database  Password=haoren";   
  12. OleDbConnection odcConnection = new OleDbConnection(strConn);   
  13. //2、打開鏈接 C#操做Access之讀取mdb  
  14. odcConnection.Open();   
  15. //創建SQL查詢   
  16. OleDbCommand odCommand = odcConnection.CreateCommand();   
  17. //3、輸入查詢語句 C#操做Access之讀取mdb  
  18. odCommand.CommandText = "select * from " + tableName;   
  19. //創建讀取   
  20. OleDbDataReader odrReader = odCommand.ExecuteReader();   
  21. //查詢並顯示數據   
  22. int size = odrReader.FieldCount;   
  23. for (int i = 0; i < size; i++)   
  24. {   
  25. DataColumn dc;   
  26. dc = new DataColumn(odrReader.GetName(i));   
  27. dt.Columns.Add(dc);   
  28. }   
  29. while (odrReader.Read())   
  30. {   
  31. dr = dt.NewRow();   
  32. for (int i = 0; i < size; i++)   
  33. {   
  34. dr[odrReader.GetName(i)] =   
  35. odrReader[odrReader.GetName(i)].ToString();   
  36. }   
  37. dt.Rows.Add(dr);   
  38. }   
  39. //關閉鏈接 C#操做Access之讀取mdb  
  40. odrReader.Close();   
  41. odcConnection.Close();   
  42. success = true;   
  43. return dt;   
  44. }   
  45. catch   
  46. {   
  47. success = false;   
  48. return dt;   
  49. }   

C#操做Access之讀取mdb的基本內容就向你介紹到這裏,但願對你瞭解和學習C#操做Access之讀取mdb有所幫助。

  • C#操做Access之按列讀取mdb淺析

C#操做Access之按列讀取mdb是如何實現的呢?首先咱們來看看基本的知識:本文C#操做Access數據庫的基礎知識,並提供一個相關的實例。C#的ADO.NET還不能經過編程方式建立全新的ACCESS(MDB)數據庫,因此還只能使用ADOX這個來自COM的連接庫來操做。

C#操做Access主要知識點以下:

  1. using System.Data.OleDb;  
  2. using System.Data; 

C#操做Access鏈接字符串:

  1. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;  
  2. Data Source=product.mdb"; 

C#操做Access創建鏈接:

  1. OleDbConnection connection = new OleDbConnection(connectionString); 

C#操做Access使用OleDbCommand類來執行Sql語句:

  1. OleDbCommand cmd = new OleDbCommand(sql, connection);  
  2. connection.Open();  
  3. cmd.ExecuteNonQuery(); 

C#操做Access之按列讀取mdb內容實例以下:

columns數組存儲的是你要查詢的列名稱(必須確保mdb表中存在你要的列)

  1. // 讀取mdb數據   
  2. public static DataTable ReadDataByColumns(string mdbPaht,
  3. string tableName, string[] columns, ref bool success)   
  4. {   
  5. DataTable dt = new DataTable();   
  6. try   
  7. {   
  8. DataRow dr;   
  9. //1、創建鏈接 C#操做Access之按列讀取mdb  
  10. string strConn = @"Provider=Microsoft.
  11. Jet.OLEDB.4.0;Data Source=" 
  12. + mdbPath + ";Jet OLEDB:Database Password=haoren";   
  13. OleDbConnection odcConnection = 
  14. new OleDbConnection(strConn);   
  15. //2、打開鏈接 C#操做Access之按列讀取mdb  
  16. odcConnection.Open();   
  17. //創建SQL查詢   
  18. OleDbCommand odCommand = odcConnection.CreateCommand();   
  19. //3、輸入查詢語句   
  20. string strColumn = "";   
  21. for (int i = 0; i < columns.Length; i++)   
  22. {   
  23. strColumn += columns[i].ToString() + ",";   
  24. }   
  25. strColumn = strColumn.TrimEnd(',');   
  26. odCommand.CommandText = "select "+strColumn+
  27. " from " + tableName;   
  28. //創建讀取 C#操做Access之按列讀取mdb  
  29. OleDbDataReader odrReader = 
  30. odCommand.ExecuteReader();   
  31. //查詢並顯示數據 C#操做Access之按列讀取mdb  
  32. int size = odrReader.FieldCount;   
  33. for (int i = 0; i < size; i++)   
  34. {   
  35. DataColumn dc;   
  36. dc = new DataColumn(odrReader.GetName(i));   
  37. dt.Columns.Add(dc);   
  38. }   
  39. while (odrReader.Read())   
  40. {   
  41. dr = dt.NewRow();   
  42. for (int i = 0; i < size; i++)   
  43. {   
  44. dr[odrReader.GetName(i)] = odrReader[
  45. odrReader.GetName(i)].ToString();   
  46. }   
  47. dt.Rows.Add(dr);   
  48. }   
  49. //關閉鏈接 C#操做Access之按列讀取mdb  
  50. odrReader.Close();   
  51. odcConnection.Close();   
  52. success = true;   
  53. return dt;   
  54. }   
  55. catch   
  56. {   
  57. success = false;   
  58. return dt;   
  59. }   
  60. }  

C#操做Access之按列讀取mdb的基本內容就向你介紹到這裏,但願對你瞭解和學習C#操做Access之按列讀取mdb有所幫助。

  • C#操做Access實例解析

C#操做Access實例是怎麼實現的呢?讓咱們來看看具體的代碼:

  1. using System;  
  2. using System.Data;  
  3. using System.Configuration;  
  4. using System.Web;  
  5. using System.Web.Security;  
  6. using System.Web.UI;  
  7. using System.Web.UI.WebControls;  
  8. using System.Web.UI.WebControls.WebParts;  
  9. using System.Web.UI.HtmlControls;  
  10. using System.Data.OleDb;   
  11. /// <summary>  
  12. /// DataAccess 的摘要說明 C#操做Access實例解析 
  13. /// </summary>  
  14. public class DataAccess  
  15. {  
  16. protected static OleDbConnection conn = new OleDbConnection();  
  17. protected static OleDbCommand comm = new OleDbCommand();  
  18. public DataAccess()  
  19. {  
  20. //init C#操做Access實例解析 
  21. }  
  22. private static void openConnection()  
  23. {  
  24. if (conn.State == ConnectionState.Closed)  
  25. {  
  26. conn.ConnectionString = @"Provider=Microsoft.Jet.OleDb.4.0;  
  27. Data Source="+ConfigurationManager.AppSettings["myconn"];  
  28. //web.config文件裏設定。  
  29. comm.Connection = conn;  
  30. try 
  31. {  
  32. conn.Open();  
  33. }  
  34. catch (Exception e)  
  35. { throw new Exception(e.Message); }  
  36. }  
  37. }//打開數據庫 C#操做Access實例解析
  38. private static void closeConnection()  
  39. {  
  40. if (conn.State == ConnectionState.Open)  
  41. {   
  42. conn.Close();  
  43. conn.Dispose();  
  44. comm.Dispose();  
  45. }  
  46. }//關閉數據庫 C#操做Access實例解析 
  47. public static void excuteSql(string sqlstr)  
  48. {  
  49. try 
  50. {  
  51. openConnection();  
  52. comm.CommandType = CommandType.Text;  
  53. comm.CommandText = sqlstr;  
  54. comm.ExecuteNonQuery();  
  55. }  
  56. catch (Exception e)  
  57. {  
  58. throw new Exception(e.Message);  
  59. }  
  60. finally 
  61. { closeConnection(); }  
  62. }//執行sql語句 C#操做Access實例解析 
  63. public static OleDbDataReader dataReader(string sqlstr)  
  64. {  
  65. OleDbDataReader dr = null;  
  66. try 
  67. {  
  68. openConnection();  
  69. comm.CommandText = sqlstr;  
  70. comm.CommandType = CommandType.Text;  
  71. dr = comm.ExecuteReader(CommandBehavior.CloseConnection);  
  72. }  
  73. catch 
  74. {  
  75. try 
  76. {  
  77. dr.Close();  
  78. closeConnection();  
  79. }  
  80. catch { }  
  81. }  
  82. return dr;  
  83. }  
  84. //返回指定sql語句的OleDbDataReader對象,使用時請注意關閉這個對象。  
  85. public static void dataReader(string sqlstr,  
  86. ref OleDbDataReader dr)  
  87. {  
  88. try 
  89. {  
  90. openConnection();  
  91. comm.CommandText = sqlstr;  
  92. comm.CommandType = CommandType.Text;  
  93. dr=comm.ExecuteReader(CommandBehavior.CloseConnection);  
  94. }  
  95. catch 
  96. {  
  97. try 
  98. {  
  99. if (dr != null && !dr.IsClosed)  
  100. dr.Close();  
  101. }  //C#操做Access實例解析
  102. catch 
  103. {  
  104. }  
  105. finally 
  106. {  
  107. closeConnection();  
  108. }  
  109. }  
  110. }  
  111. //返回指定sql語句的OleDbDataReader對象,使用時請注意關閉  
  112. public static DataSet dataSet(string sqlstr)  
  113. {  
  114. DataSet ds = new DataSet();  
  115. OleDbDataAdapter da = new OleDbDataAdapter();  
  116. try 
  117. {  
  118. openConnection();  
  119. comm.CommandType = CommandType.Text;  
  120. comm.CommandText = sqlstr;  
  121. da.SelectCommand = comm;  
  122. da.Fill(ds);  
  123. }  
  124. catch (Exception e)  
  125. {  
  126. throw new Exception(e.Message);  
  127. }  
  128. finally 
  129. {  
  130. closeConnection();  
  131. }  
  132. return ds;  
  133. }//返回指定sql語句的dataset C#操做Access實例解析 
  134. public static void dataSet(  
  135. string sqlstr, ref DataSet ds)  
  136. {  
  137. OleDbDataAdapter da = new OleDbDataAdapter();  
  138. try 
  139. {  
  140. openConnection();  
  141. comm.CommandType = CommandType.Text;  
  142. comm.CommandText = sqlstr;  
  143. da.SelectCommand = comm;  
  144. da.Fill(ds);  
  145. }  
  146. catch (Exception e)  
  147. {  
  148. throw new Exception(e.Message);  
  149. }  
  150. finally 
  151. {  
  152. closeConnection();  
  153. }  
  154. }//返回指定sql語句的dataset C#操做Access實例解析
  155. public static DataTable dataTable(string sqlstr)  
  156. {  
  157. DataTable dt = new DataTable();  
  158. OleDbDataAdapter da = new OleDbDataAdapter();  
  159. try 
  160. {  
  161. openConnection();  
  162. comm.CommandType = CommandType.Text;  
  163. comm.CommandText = sqlstr;  
  164. da.SelectCommand = comm;  
  165. da.Fill(dt);  
  166. }  
  167. catch (Exception e)  
  168. {  
  169. throw new Exception(e.Message);  
  170. }  
  171. finally 
  172. {  
  173. closeConnection();  
  174. }  
  175. return dt;  
  176. }//返回指定sql語句的datatable  
  177. public static void dataTable(  
  178. string sqlstr, ref DataTable dt)  
  179. {  
  180. OleDbDataAdapter da = new OleDbDataAdapter();  
  181. try 
  182. {  
  183. openConnection();  
  184. comm.CommandType = CommandType.Text;  
  185. comm.CommandText = sqlstr;  
  186. da.SelectCommand = comm;  
  187. da.Fill(dt);  
  188. }  
  189. catch (Exception e)  
  190. {  
  191. throw new Exception(e.Message);  
  192. }  
  193. finally 
  194. {  
  195. closeConnection();  
  196. }  
  197. }//返回指定sql語句的datatable C#操做Access實例解析 
  198. public static DataView dataView(string sqlstr)  
  199. {  
  200. OleDbDataAdapter da = new OleDbDataAdapter();  
  201. DataView dv = new DataView();  
  202. DataSet ds = new DataSet();  
  203. try 
  204. {  
  205. openConnection();  
  206. comm.CommandType = CommandType.Text;  
  207. comm.CommandText = sqlstr;  
  208. da.SelectCommand = comm;  
  209. da.Fill(ds);  
  210. dv = ds.Tables[0].DefaultView;  
  211. }  
  212. catch (Exception e)  
  213. {  
  214. throw new Exception(e.Message);  
  215. }  
  216. finally 
  217. {  
  218. closeConnection();  
  219. }  
  220. return dv;  
  221. }  
  222. //返回指定sql語句的dataview C#操做Access實例解析 

C#操做Access實例解析的基本內容就向你介紹到這裏,但願對你瞭解和學習C#操做Access有所幫助。

相關文章
相關標籤/搜索