[C#] C#通过oledb访问access数据库演示范例 →→→→→进入此内容的聊天室

来自 , 2019-04-18, 写在 C#, 查看 139 次.
URL http://www.code666.cn/view/3f8b2a81
  1.  
  2. // OleDbSample.cs
  3. // 若要从命令行生成此示例,请使用命令:
  4. // csc oledbsample.cs
  5.  
  6. using System;
  7. using System.Data;
  8. using System.Data.OleDb;
  9. using System.Xml.Serialization;
  10.  
  11. public class MainClass
  12. {
  13.         public static void Main ()
  14.         {
  15.                 // 设置访问连接并选择字符串。
  16.                 // 如果从命令行生成此示例,
  17.                 // 则必须更改 BugTypes.MDB 的路径:
  18. #if USINGPROJECTSYSTEM
  19.                 string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\\..\\BugTypes.MDB";
  20. #else
  21.                 string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BugTypes.MDB";
  22. #endif
  23.                 string strAccessSelect = "SELECT * FROM Categories";
  24.  
  25.                 // 创建数据集并向其中添加 Categories 表:
  26.                 DataSet myDataSet = new DataSet();
  27.                 OleDbConnection myAccessConn = null;
  28.                 try
  29.                 {
  30.                         myAccessConn = new OleDbConnection(strAccessConn);
  31.                 }
  32.                 catch(Exception ex)
  33.                 {
  34.                         Console.WriteLine("Error: Failed to create a database connection. \n{0}", ex.Message);
  35.                         return;
  36.                 }
  37.  
  38.                 try
  39.                 {
  40.                
  41.                         OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);
  42.                         OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
  43.  
  44.                         myAccessConn.Open();
  45.                         myDataAdapter.Fill(myDataSet,"Categories");
  46.  
  47.                 }
  48.                 catch (Exception ex)
  49.                 {
  50.                         Console.WriteLine("Error: Failed to retrieve the required data from the DataBase.\n{0}", ex.Message);
  51.                         return;
  52.                 }
  53.                 finally
  54.                 {
  55.                         myAccessConn.Close();
  56.                 }
  57.  
  58.                 // 一个数据集可以包含多个表,因此可以将这些表都放入
  59.                 // 一个数组中:
  60.                 DataTableCollection dta = myDataSet.Tables;
  61.                 foreach (DataTable dt in dta)
  62.                 {
  63.                         Console.WriteLine("Found data table {0}", dt.TableName);
  64.                 }
  65.            
  66.                 // 下面两行显示两种不同方法,可用于获取数据集中
  67.                 // 的表计数:
  68.                 Console.WriteLine("{0} tables in data set", myDataSet.Tables.Count);
  69.                 Console.WriteLine("{0} tables in data set", dta.Count);
  70.                 // 下面几行显示如何按名称
  71.                 // 从数据集中获取特定表的信息:
  72.                 Console.WriteLine("{0} rows in Categories table", myDataSet.Tables["Categories"].Rows.Count);
  73.                 // 列信息自动从数据库中提取,因此
  74.                 // 可以在此处看到这些信息:
  75.                 Console.WriteLine("{0} columns in Categories table", myDataSet.Tables["Categories"].Columns.Count);
  76.                 DataColumnCollection drc = myDataSet.Tables["Categories"].Columns;
  77.                 int i = 0;
  78.                 foreach (DataColumn dc in drc)
  79.                 {
  80.                         // 打印列下标,然后打印列的名称及其
  81.                         // 数据类型:
  82.                         Console.WriteLine("Column name[{0}] is {1}, of type {2}",i++ , dc.ColumnName, dc.DataType);
  83.                 }
  84.                 DataRowCollection dra = myDataSet.Tables["Categories"].Rows;
  85.                 foreach (DataRow dr in dra)
  86.                 {
  87.                         // 打印 CategoryID 作为下标,然后打印 CategoryName:
  88.                         Console.WriteLine("CategoryName[{0}] is {1}", dr[0], dr[1]);
  89.                 }
  90.      
  91.         }
  92. }
  93.  
  94. //csharp/4918

回复 "C#通过oledb访问access数据库演示范例"

这儿你可以回复上面这条便签

captcha