Visual C#作是微软极力推荐的下一代程序开发语言,他有一个非常重要伴侣--.Net Framework SDK,在他的里面封装了许多Class Library (类库)。Visual C#要实现很多拓展功能,就必须借助于他的这个伴侣。在Visual C#中对数据库的处理是其功能的一个重要表现。Visual C#在进行数据库处理的时候,经常用到.Net FrameWork SDK中的一个名称空间 是 System.Data.Oledb。在这个名称空间中封装了许多和数据库处理的相关Class(类)。本文就是通过二个具体的实例来说明在Visual C#如何实现对数据库的访问。
一.程序设计和运行环境是
微软公司视窗2000 专业版,.Net FrameWork SDK BETA 2 ,Microsoft Access Data Component 2.6 ( MADC2.6 )
二. 程序主要作用
本文中主要有二个源代码,其一说明如何在Visual C#中对访问数据库,本地数据库选择的是微软公司的Acess 2000;其二说明如何在Visual C#中对访问数据库,远程数据库选择的是微软公司的产品--SQL Server 7.0。
三.例子设计过程中的思路
(1).首先要导入名称空间
(2).建立指向数据库的数据连接
(3).在此数据连接上,建立一个SQL语句,用来返回所需用的数据集
(4).打开数据连接,执行SQL语句,返回所需的数据集
(5).关闭数据集,关闭数据连接
四.第一个例子first.cs -- 打开本地数据库(my.mdb )
程序中的重要步骤:
(1).导入名称空间空间
在本例子中要导入三个名称空间,分别是:System、System.Data.OleDb、System.Windows.Forms。导入System名称空间是因为程序中用到其中的Console类。导入System.Windows.Forms名称空间是因为程序中用到其中的Application类。
(2).建立指向数据库的连接
建立连接要用到System.Data.OleDb名称空间中的类--OleDbConnection。通过以下语句可以完成对本地数据库的连接工作:
string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "my.mdb" ; OleDbConnection aConnection = new OleDbConnection ( strConnect ) ; |
OleDbConnection aConnection = new OleDbConnection ( strConnect ) ; |
aConnection.Open ( ) ; OleDbDataReader aReader = aCommand.ExecuteReader ( ) ; |
aReader.Close ( ) ; aConnection.Close ( ) ; |
try { ……. } catch ( OleDbException e ) { Console.WriteLine ( "错误类型:", e.Errors[0].Message ) ; } first.cs 的程序源代码如下: using System ; using System.Data.OleDb ; using System.Windows.Forms ; // 导入程序中用的的所有名称空间 class OleDbTest { public static void Main ( ) { string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "my.mdb" ; OleDbConnection aConnection = new OleDbConnection ( strConnect ) ; // 建立指向数据库的连接 OleDbCommand aCommand = new OleDbCommand ( "select * from Persons" , aConnection ) ; // 设计所需要返回的数据集的内容 try { aConnection.Open ( ) ; // 打开指向数据库连接 OleDbDataReader aReader = aCommand.ExecuteReader ( ) ; // 返回需要的数据集内容 Console.WriteLine ( "以下就是打开后的数据集的一个字段的所有内容!" ) ; while ( aReader.Read ( ) ) { Console.WriteLine ( aReader.GetString (0) ) ; } // 屏幕输出数据集的第一个字段的所有内容,如果要第二个字段把"0"改为"1" aReader.Close ( ) ; // 关闭数据集 aConnection.Close ( ) ; // 关闭指向数据库的连接 } catch ( OleDbException e ) { Console.WriteLine ( "错误类型:", e.Errors[0].Message ) ; // 如果出错,输出错误信息 } } } |
string strConnect = " Provider=SQLOLEDB.1 ; Persist Security Info=False ; User ID = sa ; Initial Catalog=xsgl ; Data Source = czdy1 " ; |
using System ; using System.Data.OleDb ; // 导入程序中用的的所有名称空间 class OleDbTest { public static void Main ( ) { string strConnect = " Provider=SQLOLEDB.1 ; Persist Security Info=False ; User ID = sa ; Initial Catalog=xsgl ; Data Source = czdy1 " ; OleDbConnection aConnection = new OleDbConnection ( strConnect ) ; // 建立指向数据库的连接 OleDbCommand aCommand = new OleDbCommand ( "select * from xsk" , aConnection ) ; // 设计所需要返回的数据集的内容 try { aConnection.Open ( ) ; // 打开指向数据库连接 OleDbDataReader aReader = aCommand.ExecuteReader ( ) ; // 返回需要的数据集内容 Console.WriteLine ( "以下就是打开后的数据集的一个字段的所有内容!" ) ; while ( aReader.Read ( ) ) { Console.WriteLine ( aReader.GetString (0) ) ; } // 屏幕输出数据集的第一个字段的所有内容,如果要第二个字段把"0"改为"1" aReader.Close ( ) ; // 关闭数据集 aConnection.Close ( ) ; // 关闭指向数据库的连接 } catch ( OleDbException e ) { Console.WriteLine ( "错误类型:", e.Errors[0].Message ) ; file://如果出错,输出错误信息 } } } |