最新C#操作Access数据库.doc
精品资料C#操作Access数据库.C#操作Access数据库C#操作Access数据库C#操作Access数据库的基础知识浅析C#操作Access数据库的基础知识都有什么呢?C#操作Access数据库的基础知识1.通过ADO.NET的OleDb相关类来操作Access主要知识点如下:1. using System.Data.OleDb; 2. using System.Data; 连接字符串:3. String connectionString = 4. "Provider=Microsoft.Jet.OLEDB.4.0; 5. Data Source=product.mdb" 建立连接:6. OleDbConnection connection = 7. new OleDbConnection(connectionString); 使用OleDbCommand类来执行Sql语句:8. OleDbCommand cmd = new OleDbCommand(sql, connection); 9. connection.Open(); 10. cmd.ExecuteNonQuery(); C#操作Access数据库的基础知识2.取得Access自增标识字段在插入数据后的id值11. cmd.CommandText = "select identity" 12. int value = Int32.Parse(cmd.ExecuteScalar().ToString(); 13. return value; C#操作Access数据库的基础知识3.执行事务需要用到OleDbTransaction,关键语句如下:14. OleDbConnection connection = new OleDbConnection(connectionString); 15. OleDbCommand cmd = new OleDbCommand(); 16. OleDbTransaction transaction = null; 17. cmd.Connection = connection; 18. connection.Open(); 19. transaction = connection.BeginTransaction(); 20. cmd.Transaction = transaction; 21. cmd.CommandText=sql1; 22. cmd.ExecuteNonQuery(); 23. cmd.CommandText=sql2; 24. cmd.ExecuteNonQuery(); 25. transaction.Commit(); C#操作Access数据库的基础知识4.执行查询,返回DataSet26. OleDbConnection connection = 27. new OleDbConnection(connectionString); 28. DataSet ds = new DataSet(); 29. connection.Open(); 30. OleDbDataAdapter da = 31. new OleDbDataAdapter(sql, connection); 32. da.Fill(ds,"ds"); C#操作Access数据库的基础知识5.分页查询分页查询使用OleDbDataReader来读取数据,并将结果写到一个DataSet中返回。以上内容封装为三个可重用的类:AccessDBUtil,AccessPageUtil,PageC#操作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连接字符串:3. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; 4. Data Source=product.mdb" C#操作Access建立连接:5. OleDbConnection connection = new OleDbConnection(connectionString); C#操作Access使用OleDbCommand类来执行Sql语句:6. OleDbCommand cmd = new OleDbCommand(sql, connection); 7. connection.Open(); 8. cmd.ExecuteNonQuery(); C#操作Access之创建mdb库,例程如下:需要注意的是:参数mdbPath是mdb的完整路径(不包含表的名称)。C#操作Access之创建mdb库实例:D:test.mdb9. /创建mdb 10. public static bool CreateMDBDataBase(string mdbPath) 11. 12. try 13. 14. ADOX.CatalogClass cat = new ADOX.CatalogClass(); 15. cat.Create( 16. "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 17. + mdbPath + ""); 18. cat = null; 19. return true; 20. 21. /C#操作Access之创建mdb库22. catch 23. return false; 24. 25. 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连接字符串:3. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; 4. Data Source=product.mdb" C#操作Access建立连接:5. OleDbConnection connection = new OleDbConnection(connectionString); C#操作Access使用OleDbCommand类来执行Sql语句:6. OleDbCommand cmd = new OleDbCommand(sql, connection); 7. connection.Open(); 8. cmd.ExecuteNonQuery(); C#操作Access之创建表,例程如下:通常一个mdb的可以包含n个表。下面的程序主要是创建一个table。9. /新建mdb的表,C#操作Access之创建表 10. /mdbHead是一个ArrayList,存储的是table表中的具体列名。 11. public static bool CreateMDBTable( 12. string mdbPath,string tableName, ArrayList mdbHead) 13. 14. try 15. 16. ADOX.CatalogClass cat = new ADOX.CatalogClass(); 17. string sAccessConnection = "Provider=Microsoft.Jet.OLEDB.4.0; 18. Data Source=" + mdbPath; 19. ADODB.Connection cn = new ADODB.Connection(); 20. cn.Open(sAccessConnection, null, null, -1); 21. cat.ActiveConnection = cn; 22. /新建一个表,C#操作Access之创建表23. ADOX.TableClass tbl = new ADOX.TableClass(); 24. tbl.ParentCatalog = cat; 25. tbl.Name = tableName; 26. int size = mdbHead.Count; 27. for (int i = 0; i < size; i+) 28. 29. /增加一个文本字段 30. ADOX.ColumnClass col2 = new ADOX.ColumnClass(); 31. col2.ParentCatalog = cat; 32. col2.Name = mdbHeadi.ToString();/列的名称 33. col2.Properties"Jet OLEDB:Allow Zero Length".Value = false; 34. tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarWChar, 500); 35. 36. cat.Tables.Append(tbl); 37. /这句把表加入数据库(非常重要) ,C#操作Access之创建表 38. tbl = null; 39. cat = null; 40. cn.Close(); 41. return true; 42. 43. catch return false; 44. 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连接字符串:3. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; 4. Data Source=product.mdb" C#操作Access建立连接:5. OleDbConnection connection = new OleDbConnection(connectionString); C#操作Access使用OleDbCommand类来执行Sql语句:6. OleDbCommand cmd = new OleDbCommand(sql, connection); 7. connection.Open(); 8. cmd.ExecuteNonQuery(); C#操作Access之读取mdb实例如下:本例返回的是一个DataTable,如需其他格式可以自行转换。9. / 读取mdb数据 10. public static DataTable ReadAllData(string tableName, 11. string mdbPath,ref bool success) 12. 13. DataTable dt = new DataTable(); 14. try 15. 16. DataRow dr; 17. /1、建立连接 C#操作Access之读取mdb 18. string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 19. + mdbPath + "Jet OLEDB:Database Password=haoren" 20. OleDbConnection odcConnection = new OleDbConnection(strConn); 21. /2、打开连接 C#操作Access之读取mdb 22. odcConnection.Open(); 23. /建立SQL查询 24. OleDbCommand odCommand = odcConnection.CreateCommand(); 25. /3、输入查询语句 C#操作Access之读取mdb 26. odCommand.CommandText = "select * from " + tableName; 27. /建立读取 28. OleDbDataReader odrReader = odCommand.ExecuteReader(); 29. /查询并显示数据 30. int size = odrReader.FieldCount; 31. for (int i = 0; i < size; i+) 32. 33. DataColumn dc; 34. dc = new DataColumn(odrReader.GetName(i); 35. dt.Columns.Add(dc); 36. 37. while (odrReader.Read() 38. 39. dr = dt.NewRow(); 40. for (int i = 0; i < size; i+) 41. 42. drodrReader.GetName(i) = 43. odrReaderodrReader.GetName(i).ToString(); 44. 45. dt.Rows.Add(dr); 46. 47. /关闭连接 C#操作Access之读取mdb 48. odrReader.Close(); 49. odcConnection.Close(); 50. success = true; 51. return dt; 52. 53. catch 54. 55. success = false; 56. return dt; 57. 58. 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连接字符串:3. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; 4. Data Source=product.mdb" C#操作Access建立连接:5. OleDbConnection connection = new OleDbConnection(connectionString); C#操作Access使用OleDbCommand类来执行Sql语句:6. OleDbCommand cmd = new OleDbCommand(sql, connection); 7. connection.Open(); 8. cmd.ExecuteNonQuery(); C#操作Access之按列读取mdb内容实例如下:columns数组存储的是你要查询的列名称(必须确保mdb表中存在你要的列)9. / 读取mdb数据 10. public static DataTable ReadDataByColumns(string mdbPaht,11. string tableName, string columns, ref bool success) 12. 13. DataTable dt = new DataTable(); 14. try 15. 16. DataRow dr; 17. /1、建立连接 C#操作Access之按列读取mdb 18. string strConn = "Provider=Microsoft.19. Jet.OLEDB.4.0;Data Source=" 20. + mdbPath + "Jet OLEDB:Database Password=haoren" 21. OleDbConnection odcConnection = 22. new OleDbConnection(strConn); 23. /2、打开连接 C#操作Access之按列读取mdb 24. odcConnection.Open(); 25. /建立SQL查询 26. OleDbCommand odCommand = odcConnection.CreateCommand(); 27. /3、输入查询语句 28. string strColumn = "" 29. for (int i = 0; i < columns.Length; i+) 30. 31. strColumn += columnsi.ToString() + "," 32. 33. strColumn = strColumn.TrimEnd(','); 34. odCommand.CommandText = "select "+strColumn+35. " from " + tableName; 36. /建立读取 C#操作Access之按列读取mdb 37. OleDbDataReader odrReader = 38. odCommand.ExecuteReader(); 39. /查询并显示数据 C#操作Access之按列读取mdb 40. int size = odrReader.FieldCount; 41. for (int i = 0; i < size; i+) 42. 43. DataColumn dc; 44. dc = new DataColumn(odrReader.GetName(i); 45. dt.Columns.Add(dc); 46. 47. while (odrReader.Read() 48. 49. dr = dt.NewRow(); 50. for (int i = 0; i < size; i+) 51. 52. drodrReader.GetName(i) = odrReader53. odrReader.GetName(i).ToString(); 54. 55. dt.Rows.Add(dr); 56. 57. /关闭连接 C#操作Access之按列读取mdb 58. odrReader.Close(); 59. odcConnection.Close(); 60. success = true; 61. return dt; 62. 63. catch 64. 65. success = false; 66. return dt; 67. 68. 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;