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连接字符串:

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

C#操作Access建立连接:

 
 
  1. OleDbConnection connection = new OleDbConnection(connectionString); 

C#操作Access使用OleDbCommand类来执行Sql语句:

 
 
  1. OleDbCommand cmd = new OleDbCommand(sql, connection);  
  2.  
  3. connection.Open();  
  4.  
  5. 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.  
  40. while (odrReader.Read())   
  41. {   
  42.     dr = dt.NewRow();   
  43.     for (int i = 0; i < size; i++)   
  44.     {   
  45. dr[odrReader.GetName(i)] = odrReader[
  46. odrReader.GetName(i)].ToString();   
  47.     }   
  48.     dt.Rows.Add(dr);   
  49. }   
  50. //关闭连接 C#操作Access之按列读取mdb  
  51. odrReader.Close();   
  52. odcConnection.Close();   
  53. success = true;   
  54. return dt;   
  55.     }   
  56.     catch   
  57.     {   
  58. success = false;   
  59. return dt;   
  60.     }   
  61. }  

C#操作Access之按列读取mdb的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access之按列读取mdb有所帮助。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值