C#连接数据库原理

希望用c sharp访问MSAccess数据库的时候我没有办法获得任何信息和参考材料.网上所能获得的所有材料都是偏重于SQL的,所以我们将分两步来编写这个应用程序,第一我们将展示如何连接到MSAccess数据库然后看看它有多复杂.最后,我们就这样完成了这个程序.
  
   闲言少序,让我们开始正题.连接到数据库的过程与我们早先的ADO连接过程相比已经发生了较大的变化.下面的图表恰当的(我希望如此)OleDbConnection--> OleDbCommand --> OleDbDataReader.现在那些熟悉ado的人很明显能看出两者的相似之处但是为了使那些还没有很好的适应ado的人能够明白,下面是一些解释.
  
   OleDbConnection -->代表对数据库的单一连接,根据底层数据库的功能它能给你操纵数据库的能力.有一点必须记住,虽然oledbconnection对象出了作用范围,它也不会自动被关闭.所以,你将不得不显示的调用这个对象的close()方法.
  
   OleDbCommand -->这是就象我们在ado中使用的一样的通常的command对象.你可以通过这个对象调用sql存储过程或是sql查询语句.
  
   OleDbDataReader -->这个类拥有非常大的重要性因为它提供了实际上的对数据库底层数据集的访问.当你调用OleDbCommand的ExecuteReader方法的时候它就会被创建,.NET beta2 sdk说不要直接创建这个类的对象.
  
   现在你可以在.NET beta 2的文档中看到更多的关于这些主要对象的说明,下面是指出如何在程序中访问数据库的源代码.
  
   using System;
   using System.Data.OleDb;
  
   class OleDbTest{
  
   public static void Main()
   {
   //创建数据库连接
   OleDbConnection aConnection = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db1.mdb);
  
   //创建command对象并保存sql查询语句
   OleDbCommand aCommand = new OleDbCommand(select * from emp_test, aConnection);
   try
   {
   aConnection.Open();
  
   //创建datareader 对象来连接到表单
   OleDbDataReader aReader = aCommand.ExecuteReader();
   Console.WriteLine(This is the returned data from emp_test table);
  
   //循环遍历数据库
   while(aReader.Read())
   {
   Console.WriteLine(aReader.GetInt32(0).ToString());
   }
  
   //关闭reader对象
   aReader.Close();
  
   //关闭连接,这很重要
   aConnection.Close();
   }
  
   //一些通常的异常处理
   catch(OleDbException e)
   {
   Console.WriteLine(Error: {0}, e.Errors[0].Message);
   }
   }
   }
posted @ 2008-02-26 12:11  jay-c  阅读(1547)  评论(0)    收藏  举报