• C#操作Access


    C#操作Access数据库的基础知识浅析

    C#操作Access数据库的基础知识都有什么呢?

    C#操作Access数据库的基础知识1.

    通过ADO.NET的OleDb相关类来操作Access

    主要知识点如下:

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

    连接字符串:

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

    建立连接:

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

    使用OleDbCommand类来执行Sql语句:

    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有所帮助。

     

  • 相关阅读:
    【胡策篇】题目
    【学术篇】luogu3768 简单的数学题(纯口胡无代码)
    【学术篇】规律选手再次证明自己(舒老师的胡策题 T2 LX还在迷路)
    【模板篇】Link Cut Tree模板(指针)
    【学术篇】51nod 1238 最小公倍数之和
    【学术篇】2.28测试T2 线段 拓扑排序
    【学术篇】SPOJ FTOUR2 点分治
    【颓废篇】Py:从零开始的poj自动提交
    【学术篇】CF935E Fafa and Ancient Mathematics 树形dp
    安卓启动图去除顶部title和状态栏
  • 原文地址:https://www.cnblogs.com/ZhengGuoQing/p/3486905.html
Copyright © 2020-2023  润新知