C#操作Access数据库(14页).doc
-C#操作Access数据库-第 14 页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. try 12. ADOX.CatalogClass cat = new ADOX.CatalogClass(); 13. cat.Create( 14. "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 15. + mdbPath + ""); 16. cat = null; 17. return true; 18. /C#操作Access之创建mdb库19. catch 20. return false; 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. try 14. ADOX.CatalogClass cat = new ADOX.CatalogClass(); 15. string sAccessConnection = "Provider=Microsoft.Jet.OLEDB.4.0; 16. Data Source=" + mdbPath; 17. ADODB.Connection cn = new ADODB.Connection(); 18. cn.Open(sAccessConnection, null, null, -1); 19. cat.ActiveConnection = cn; 20. /新建一个表,C#操作Access之创建表21. ADOX.TableClass tbl = new ADOX.TableClass(); 22. tbl.ParentCatalog = cat; 23. tbl.Name = tableName; 24. int size = mdbHead.Count; 25. for (int i = 0; i < size; i+) 26. /增加一个文本字段 27. ADOX.ColumnClass col2 = new ADOX.ColumnClass(); 28. col2.ParentCatalog = cat; 29. col2.Name = mdbHeadi.ToString();/列的名称 30. col2.Properties"Jet OLEDB:Allow Zero Length".Value = false; 31. tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarWChar, 500); 32. cat.Tables.Append(tbl); 33. /这句把表加入数据库(非常重要) ,C#操作Access之创建表 34. tbl = null; 35. cat = null; 36. cn.Close(); 37. return true; 38. 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连接字符串: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. DataTable dt = new DataTable(); 13. try 14. DataRow dr; 15. /1、建立连接 C#操作Access之读取mdb 16. string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 17. + mdbPath + "Jet OLEDB:Database Password=haoren" 18. OleDbConnection odcConnection = new OleDbConnection(strConn); 19. /2、打开连接 C#操作Access之读取mdb 20. odcConnection.Open(); 21. /建立SQL查询 22. OleDbCommand odCommand = odcConnection.CreateCommand(); 23. /3、输入查询语句 C#操作Access之读取mdb 24. odCommand.CommandText = "select * from " + tableName; 25. /建立读取 26. OleDbDataReader odrReader = odCommand.ExecuteReader(); 27. /查询并显示数据 28. int size = odrReader.FieldCount; 29. for (int i = 0; i < size; i+) 30. DataColumn dc; 31. dc = new DataColumn(odrReader.GetName(i); 32. dt.Columns.Add(dc); 33. while (odrReader.Read() 34. dr = dt.NewRow(); 35. for (int i = 0; i < size; i+) 36. drodrReader.GetName(i) = 37. odrReaderodrReader.GetName(i).ToString(); 38. dt.Rows.Add(dr); 39. /关闭连接 C#操作Access之读取mdb 40. odrReader.Close(); 41. odcConnection.Close(); 42. success = true; 43. return dt; 44. catch 45. success = false; 46. return dt; 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. DataTable dt = new DataTable(); 13. try 14. DataRow dr; 15. /1、建立连接 C#操作Access之按列读取mdb 16. string strConn = "Provider=Microsoft.17. Jet.OLEDB.4.0;Data Source=" 18. + mdbPath + "Jet OLEDB:Database Password=haoren" 19. OleDbConnection odcConnection = 20. new OleDbConnection(strConn); 21. /2、打开连接 C#操作Access之按列读取mdb 22. odcConnection.Open(); 23. /建立SQL查询 24. OleDbCommand odCommand = odcConnection.CreateCommand(); 25. /3、输入查询语句 26. string strColumn = "" 27. for (int i = 0; i < columns.Length; i+) 28. strColumn += columnsi.ToString() + "," 29. strColumn = strColumn.TrimEnd(','); 30. odCommand.CommandText = "select "+strColumn+31. " from " + tableName; 32. /建立读取 C#操作Access之按列读取mdb 33. OleDbDataReader odrReader = 34. odCommand.ExecuteReader(); 35. /查询并显示数据 C#操作Access之按列读取mdb 36. int size = odrReader.FieldCount; 37. for (int i = 0; i < size; i+) 38. DataColumn dc; 39. dc = new DataColumn(odrReader.GetName(i); 40. dt.Columns.Add(dc); 41. while (odrReader.Read() 42. dr = dt.NewRow(); 43. for (int i = 0; i < size; i+) 44. drodrReader.GetName(i) = odrReader45. odrReader.GetName(i).ToString(); 46. dt.Rows.Add(dr); 47. /关闭连接 C#操作Access之按列读取mdb 48. odrReader.Close(); 49. odcConnection.Close(); 50. success = true; 51. return dt; 52. catch 53. success = false; 54. return dt; 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. protected static OleDbConnection conn = new OleDbConnection(); 16. protected static OleDbCommand comm = new OleDbCommand(); 17. public DataAccess() 18. /init C#操作Access实例解析 19. private static void openConnection() 20. if (conn.State = ConnectionState.Closed) 21. conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0; 22. Data Source="+ConfigurationManager.AppSettings"myconn" 23. /web.config文件里设定。 24. comm.Connection = conn; 25. try 26. conn.Open(); 27. catch (Exception e) 28. throw new Exception(e.Message); 29. /打开数据库 C#操作Access实例解析30. private static void closeConnection() 31. if (conn.State = ConnectionState.Open) 32. conn.Close(); 33. conn.Dispose(); 34. comm.Dispose(); 35. /关闭数据库 C#操作Access实例解析 36. public static void excuteSql(string sqlstr) 37. try 38. openConnection(); 39. comm.CommandType = CommandType.Text; 40. comm.CommandText = sqlstr; 41. comm.ExecuteNonQuery(); 42. catch (Exception e) 43. throw new Exception(e.Message); 44. finally 45. closeConnection(); 46. /执行sql语句 C#操作Access实例解析 47. public static OleDbDataReader dataReader(string sqlstr) 48. OleDbDataReader dr = null; 49. try 50. openConnection(); 51. comm.CommandText = sqlstr; 52. comm.CommandType = CommandType.Text; 53. dr = comm.ExecuteReader(CommandBehavior.CloseConnection); 54. catch 55. try 56. dr.Close(); 57. closeConnection(); 58. catch 59. return dr; 60. /返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。 61. public static void dataReader(string sqlstr, 62. ref OleDbDataReader dr) 63. try 64. openConnection(); 65. comm.CommandText = sqlstr; 66. comm.CommandType = CommandType.Text; 67. dr=comm.ExecuteReader(CommandBehavior.CloseConnection); 68. catch 69. try 70. if (dr != null && !dr.IsClosed) 71. dr.Close(); 72. /C#操作Access实例解析73. catch 74. finally 75. closeConnection(); 76. /返回指定sql语句的OleDbDataReader对象,使用时请注意关闭 77. public static DataSet dataSet(string sqlstr) 78. DataSet ds = new DataSet(); 79. OleDbDataAdapter da = new OleDbDataAdapter(); 80. try 81. openConnection(); 82. comm.CommandType = CommandType.Text; 83. comm.CommandText = sqlstr; 84. da.SelectCommand = comm; 85. da.Fill(ds); 86. catch (Exception e) 87. throw new Exception(e.Message); 88. finally 89. closeConnection(); 90. return ds; 91. /返回指定sql语句的dataset C#操作Access实例解析 92. public static void dataSet( 93. string sqlstr, ref DataSet ds) 94. OleDbDataAdapter da = new OleDbDataAdapter(); 95. try 96. openConnection(); 97. comm.CommandType = CommandType.Text; 98. comm.CommandText = sqlstr; 99. da.SelectCommand = comm; 100. da.Fill(ds); 101. catch (Exception e) 102. throw new Exception(e.Message); 103. finally 104. closeConnection(); 105. /返回指定sql语句的dataset C#操作Access实例解析106. public static DataTable dataTable(string sqlstr) 107. DataTable dt = new DataTable(); 108. OleDbDataAdapter da = new OleDbDataAdapter(); 109. try 110. openConnection(); 111. comm.CommandType = CommandType.Text; 112. comm.CommandText = sqlstr; 113. da.SelectCommand = comm; 114. da.Fill(dt); 115. catch (Exception e) 116. throw new Exception(e.Message); 117. finally 118. closeConnection(); 119. return dt; 120. /返回指定sql语句的datatable 121. public static void dataTable( 122. string sqlstr, ref DataTable dt) 123. OleDbDataAdapter da = new OleDbDataAdapter(); 124. try 125. openConnection(); 126. comm.CommandType = CommandType.Text; 127. comm.CommandText = sqlstr; 128. da.SelectCommand = comm; 129. da.Fill(dt); 130. catch (Exception e) 131. throw new Exception(e.Message); 132. finally 133. closeConnection(); 134. /返回指定sql语句的datatable C#操作Access实例解析 135. public static DataView dataView(string sqlstr) 136. OleDbDataAdapter da = new OleDbDataAdapter(); 137. DataView dv = new DataView(); 138. DataSet ds = new DataSet(); 139. try 140. openConnection(); 141. comm.CommandType = CommandType.Text; 142. comm.CommandText = sqlstr; 143. da.SelectCommand = comm; 144. da.Fill(ds); 145. dv = ds.Tables0.DefaultView; 146. catch (Exception e) 147. throw new Exception(e.Message); 148. finally 149. closeConnection(); 150. return dv; 151. /返回指定sql语句的dataview C#操作Access实例解析 C#操作Access实例解析的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access有所帮助。