C#操作Access数据库的基础知识浅析 C#操作Access数据库的基础知识都有什么呢? C#操作Access数据库的基础知识1. 通过ADO.NET的OleDb相关类来操作Access 主要知识点如下: 1. using System.Data.OleDb; 2. 3. using System.Data; 连接字符串: 4. String connectionString = 5. "Provider=Microsoft.Jet.OLEDB.4.0; 6. Data Source=product.mdb"; 建立连接: 7. OleDbConnection connection = 8. new OleDbConnection(connectionString); 使用OleDbCommand类来执行Sql语句: 9. OleDbCommand cmd = new OleDbCommand(sql, connection); 10. connection.Open(); 11. cmd.ExecuteNonQuery(); C#操作Access数据库的基础知识2. 取得Access自增标识字段在插入数据后的id值 12. cmd.CommandText = @"select @@identity"; 13. int value = Int32.Parse(cmd.ExecuteScalar().ToString()); 14. return value; C#操作Access数据库的基础知识3. 执行事务 需要用到OleDbTransaction,关键语句如下: 15. OleDbConnection connection = new OleDbConnection(connectionString); 16. OleDbCommand cmd = new OleDbCommand(); 17. OleDbTransaction transaction = null; 18. cmd.Connection = connection; 19. connection.Open(); 20. transaction = connection.BeginTransaction(); 21. cmd.Transaction = transaction; 22. cmd.CommandText=sql1; 23. cmd.ExecuteNonQuery(); 24. cmd.CommandText=sql2; 25. cmd.ExecuteNonQuery(); 26. transaction.Commit(); C#操作Access数据库的基础知识4. 执行查询,返回DataSet 27. OleDbConnection connection = 28. new OleDbConnection(connectionString); 29. DataSet ds = new DataSet(); 30. connection.Open(); 31. OleDbDataAdapter da = 32. new OleDbDataAdapter(sql, connection); 33. 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. 3. using System.Data; C#操作Access连接字符串: 4. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; 5. 6. Data Source=product.mdb"; C#操作Access建立连接: 7. OleDbConnection connection = new OleDbConnection(connectionString); C#操作Access使用OleDbCommand类来执行Sql语句: 8. OleDbCommand cmd = new OleDbCommand(sql, connection); 9. 10. connection.Open(); 11. 12. cmd.ExecuteNonQuery(); C#操作Access之创建mdb库,例程如下: 需要注意的是:参数mdbPath是mdb的完整路径(不包含表的名称)。 C#操作Access之创建mdb库实例:D:\\test.mdb 13. //创建mdb 14. public static bool CreateMDBDataBase(string mdbPath) 15. { 16. 17. try 18. 19. { 20. 21. ADOX.CatalogClass cat = new ADOX.CatalogClass(); 22. 23. cat.Create( 24. "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 25. + mdbPath + ";"); 26. 27. cat = null; 28. 29. return true; 30. 31. } 32. //C#操作Access之创建mdb库 33. catch { 34. 35. return false; 36. 37. } 38. 39. } 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. 3. using System.Data; C#操作Access连接字符串: 4. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; 5. 6. Data Source=product.mdb"; C#操作Access建立连接: 7. OleDbConnection connection = new OleDbConnection(connectionString); C#操作Access使用OleDbCommand类来执行Sql语句: 8. OleDbCommand cmd = new OleDbCommand(sql, connection); 9. 10. connection.Open(); 11. 12. cmd.ExecuteNonQuery(); C#操作Access之创建表,例程如下: 通常一个mdb的可以包含n个表。下面的程序主要是创建一个table。 13. //新建mdb的表,C#操作Access之创建表 14. 15. //mdbHead是一个ArrayList,存储的是table表中的具体列名。 16. 17. public static bool CreateMDBTable( 18. string mdbPath,string tableName, ArrayList mdbHead) 19. 20. { 21. try 22. { 23. ADOX.CatalogClass cat = new ADOX.CatalogClass(); 24. 25. string sAccessConnection = @"Provider=Microsoft.Jet.OLEDB.4.0; 26. Data Source=" + mdbPath; 27. ADODB.Connection cn = new ADODB.Connection(); 28. 29. cn.Open(sAccessConnection, null, null, -1); 30. 31. cat.ActiveConnection = cn; 32. 33. //新建一个表,C#操作Access之创建表 34. ADOX.TableClass tbl = new ADOX.TableClass(); 35. tbl.ParentCatalog = cat; 36. tbl.Name = tableName; 37. 38. int size = mdbHead.Count; 39. for (int i = 0; i < size; i++) 40. { 41. //增加一个文本字段 42. ADOX.ColumnClass col2 = new ADOX.ColumnClass(); 43. 44. col2.ParentCatalog = cat; 45. col2.Name = mdbHead[i].ToString();//列的名称 46. 47. col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false; 48. 49. tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarWChar, 500); 50. } 51. cat.Tables.Append(tbl); 52. 53. //这句把表加入数据库(非常重要) ,C#操作Access之创建表 54. tbl = null; 55. cat = null; 56. cn.Close(); 57. return true; 58. } 59. catch { return false; } 60. } 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. 3. using System.Data; C#操作Access连接字符串: 4. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; 5. 6. Data Source=product.mdb"; C#操作Access建立连接: 7. OleDbConnection connection = new OleDbConnection(connectionString); C#操作Access使用OleDbCommand类来执行Sql语句: 8. OleDbCommand cmd = new OleDbCommand(sql, connection); 9. 10. connection.Open(); 11. 12. cmd.ExecuteNonQuery(); C#操作Access之读取mdb实例如下: 本例返回的是一个DataTable,如需其他格式可以自行转换。 13. // 读取mdb数据 14. public static DataTable ReadAllData(string tableName, 15. string mdbPath,ref bool success) 16. { 17. DataTable dt = new DataTable(); 18. try 19. { 20. DataRow dr; 21. 22. //1、建立连接 C#操作Access之读取mdb 23. 24. string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 25. + mdbPath + ";Jet OLEDB:Database Password=haoren"; 26. OleDbConnection odcConnection = new OleDbConnection(strConn); 27. 28. //2、打开连接 C#操作Access之读取mdb 29. odcConnection.Open(); 30. 31. //建立SQL查询 32. OleDbCommand odCommand = odcConnection.CreateCommand(); 33. 34. //3、输入查询语句 C#操作Access之读取mdb 35. 36. odCommand.CommandText = "select * from " + tableName; 37. 38. //建立读取 39. OleDbDataReader odrReader = odCommand.ExecuteReader(); 40. 41. //查询并显示数据 42. int size = odrReader.FieldCount; 43. for (int i = 0; i < size; i++) 44. { 45. DataColumn dc; 46. dc = new DataColumn(odrReader.GetName(i)); 47. dt.Columns.Add(dc); 48. } 49. while (odrReader.Read()) 50. { 51. dr = dt.NewRow(); 52. for (int i = 0; i < size; i++) 53. { 54. dr[odrReader.GetName(i)] = 55. odrReader[odrReader.GetName(i)].ToString(); 56. } 57. dt.Rows.Add(dr); 58. } 59. //关闭连接 C#操作Access之读取mdb 60. odrReader.Close(); 61. odcConnection.Close(); 62. success = true; 63. return dt; 64. } 65. catch 66. { 67. success = false; 68. return dt; 69. } 70. } 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. 3. using System.Data; C#操作Access连接字符串: 4. String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; 5. 6. Data Source=product.mdb"; C#操作Access建立连接: 7. OleDbConnection connection = new OleDbConnection(connectionString); C#操作Access使用OleDbCommand类来执行Sql语句: 8. OleDbCommand cmd = new OleDbCommand(sql, connection); 9. 10. connection.Open(); 11. 12. cmd.ExecuteNonQuery(); C#操作Access之按列读取mdb内容实例如下: columns数组存储的是你要查询的列名称(必须确保mdb表中存在你要的列) 13. // 读取mdb数据 14. public static DataTable ReadDataByColumns(string mdbPaht, 15. string tableName, string[] columns, ref bool success) 16. { 17. DataTable dt = new DataTable(); 18. try 19. { 20. DataRow dr; 21. //1、建立连接 C#操作Access之按列读取mdb 22. string strConn = @"Provider=Microsoft. 23. Jet.OLEDB.4.0;Data Source=" 24. + mdbPath + ";Jet OLEDB:Database Password=haoren"; 25. OleDbConnection odcConnection = 26. new OleDbConnection(strConn); 27. //2、打开连接 C#操作Access之按列读取mdb 28. odcConnection.Open(); 29. //建立SQL查询 30. OleDbCommand odCommand = odcConnection.CreateCommand(); 31. //3、输入查询语句 32. string strColumn = ""; 33. for (int i = 0; i < columns.Length; i++) 34. { 35. strColumn += columns[i].ToString() + ","; 36. } 37. strColumn = strColumn.TrimEnd(','); 38. odCommand.CommandText = "select "+strColumn+ 39. " from " + tableName; 40. //建立读取 C#操作Access之按列读取mdb 41. OleDbDataReader odrReader = 42. odCommand.ExecuteReader(); 43. //查询并显示数据 C#操作Access之按列读取mdb 44. int size = odrReader.FieldCount; 45. for (int i = 0; i < size; i++) 46. { 47. DataColumn dc; 48. dc = new DataColumn(odrReader.GetName(i)); 49. dt.Columns.Add(dc); 50. } 51. 52. while (odrReader.Read()) 53. { 54. dr = dt.NewRow(); 55. for (int i = 0; i < size; i++) 56. { 57. dr[odrReader.GetName(i)] = odrReader[ 58. odrReader.GetName(i)].ToString(); 59. } 60. dt.Rows.Add(dr); 61. } 62. //关闭连接 C#操作Access之按列读取mdb 63. odrReader.Close(); 64. odcConnection.Close(); 65. success = true; 66. return dt; 67. } 68. catch 69. { 70. success = false; 71. return dt; 72. } 73. } 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. 12. /// 13. /// DataAccess 的摘要说明 C#操作Access实例解析 14. /// 15. public class DataAccess 16. { 17. protected static OleDbConnection conn = new OleDbConnection(); 18. protected static OleDbCommand comm = new OleDbCommand(); 19. public DataAccess() 20. { 21. //init C#操作Access实例解析 22. } 23. private static void openConnection() 24. { 25. if (conn.State == ConnectionState.Closed) 26. { 27. conn.ConnectionString = @"Provider=Microsoft.Jet.OleDb.4.0; 28. Data Source="+ConfigurationManager.AppSettings["myconn"]; 29. //web.config文件里设定。 30. comm.Connection = conn; 31. try 32. { 33. conn.Open(); 34. } 35. catch (Exception e) 36. { throw new Exception(e.Message); } 37. 38. } 39. 40. }//打开数据库 C#操作Access实例解析 41. 42. private static void closeConnection() 43. { 44. if (conn.State == ConnectionState.Open) 45. { 46. conn.Close(); 47. conn.Dispose(); 48. comm.Dispose(); 49. } 50. }//关闭数据库 C#操作Access实例解析 51. 52. public static void excuteSql(string sqlstr) 53. { 54. try 55. { 56. openConnection(); 57. comm.CommandType = CommandType.Text; 58. comm.CommandText = sqlstr; 59. comm.ExecuteNonQuery(); 60. } 61. catch (Exception e) 62. { 63. throw new Exception(e.Message); 64. } 65. finally 66. { closeConnection(); } 67. }//执行sql语句 C#操作Access实例解析 68. 69. public static OleDbDataReader dataReader(string sqlstr) 70. { 71. OleDbDataReader dr = null; 72. try 73. { 74. openConnection(); 75. comm.CommandText = sqlstr; 76. comm.CommandType = CommandType.Text; 77. 78. dr = comm.ExecuteReader(CommandBehavior.CloseConnection); 79. } 80. catch 81. { 82. try 83. { 84. dr.Close(); 85. closeConnection(); 86. } 87. catch { } 88. } 89. return dr; 90. } 91. //返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。 92. public static void dataReader(string sqlstr, 93. ref OleDbDataReader dr) 94. { 95. try 96. { 97. openConnection(); 98. comm.CommandText = sqlstr; 99. comm.CommandType = CommandType.Text; 100. dr=comm.ExecuteReader(CommandBehavior.CloseConnection); 101. } 102. catch 103. { 104. try 105. { 106. if (dr != null && !dr.IsClosed) 107. dr.Close(); 108. } //C#操作Access实例解析 109. catch 110. { 111. } 112. finally 113. { 114. closeConnection(); 115. } 116. } 117. } 118. //返回指定sql语句的OleDbDataReader对象,使用时请注意关闭 119. 120. public static DataSet dataSet(string sqlstr) 121. { 122. DataSet ds = new DataSet(); 123. OleDbDataAdapter da = new OleDbDataAdapter(); 124. try 125. { 126. openConnection(); 127. comm.CommandType = CommandType.Text; 128. comm.CommandText = sqlstr; 129. da.SelectCommand = comm; 130. da.Fill(ds); 131. 132. } 133. catch (Exception e) 134. { 135. throw new Exception(e.Message); 136. } 137. finally 138. { 139. closeConnection(); 140. } 141. return ds; 142. }//返回指定sql语句的dataset C#操作Access实例解析 143. 144. public static void dataSet( 145. string sqlstr, ref DataSet ds) 146. { 147. OleDbDataAdapter da = new OleDbDataAdapter(); 148. try 149. { 150. openConnection(); 151. comm.CommandType = CommandType.Text; 152. comm.CommandText = sqlstr; 153. da.SelectCommand = comm; 154. da.Fill(ds); 155. } 156. catch (Exception e) 157. { 158. throw new Exception(e.Message); 159. } 160. finally 161. { 162. closeConnection(); 163. } 164. }//返回指定sql语句的dataset C#操作Access实例解析 165. 166. public static DataTable dataTable(string sqlstr) 167. { 168. DataTable dt = new DataTable(); 169. OleDbDataAdapter da = new OleDbDataAdapter(); 170. try 171. { 172. openConnection(); 173. comm.CommandType = CommandType.Text; 174. comm.CommandText = sqlstr; 175. da.SelectCommand = comm; 176. da.Fill(dt); 177. } 178. catch (Exception e) 179. { 180. throw new Exception(e.Message); 181. } 182. finally 183. { 184. closeConnection(); 185. } 186. return dt; 187. }//返回指定sql语句的datatable 188. public static void dataTable( 189. string sqlstr, ref DataTable dt) 190. { 191. OleDbDataAdapter da = new OleDbDataAdapter(); 192. try 193. { 194. openConnection(); 195. comm.CommandType = CommandType.Text; 196. comm.CommandText = sqlstr; 197. da.SelectCommand = comm; 198. da.Fill(dt); 199. } 200. catch (Exception e) 201. { 202. throw new Exception(e.Message); 203. } 204. finally 205. { 206. closeConnection(); 207. } 208. }//返回指定sql语句的datatable C#操作Access实例解析 209. 210. public static DataView dataView(string sqlstr) 211. { 212. OleDbDataAdapter da = new OleDbDataAdapter(); 213. DataView dv = new DataView(); 214. DataSet ds = new DataSet(); 215. try 216. { 217. openConnection(); 218. comm.CommandType = CommandType.Text; 219. comm.CommandText = sqlstr; 220. da.SelectCommand = comm; 221. da.Fill(ds); 222. dv = ds.Tables[0].DefaultView; 223. } 224. catch (Exception e) 225. { 226. throw new Exception(e.Message); 227. } 228. finally 229. { 230. closeConnection(); 231. } 232. return dv; 233. } 234. //返回指定sql语句的dataview C#操作Access实例解析 235. 236. } C#操作Access实例解析的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access有所帮助。
本文档为【C_操作Access数据库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。