| 斌's profile技术员的共享空间PhotosBlogLists | Help |
技术员的共享空间 |
||||
|
June 23 用C# 写一个连接数据库程序的步骤在程序中要使用 System.Data.OracleClient 命名空间中类的子集来对Oracle数据库操作的步骤: 1、将 System.Data.OracleClient(用于Oracle 的 Microsoft .NET 框架数据提供程序)的引用添加到项目中。 2、使用 using 指令导入 OracleClient 类中的类型。 using System.Data.OracleClient;3、创建一个 OracleConnection 对象。 OracleConnection conn = new OracleConnection("Data Source=oracledb;User Id=UserID;Password=Password;");4、创建一个OracleCommand对象。将其Connection属性设置为上一步中创建的连接。将其CommandText设置为想对数据库表进行的操作,即SQL语句。
7、使用 OracleCommand 对象的一个 Execute 方法执行CommandText中的SQL语句,如下所示:
Execute方法 说明
ExecuteReader 通过执行能够返回结果集生成 OracleDataReader。
ExecuteNonQuery 执行返回受影响的行数。
ExecuteOracleNonQuery 针对OracleCommand.Connection执行SQL语句,返回受影响的行数。
ExecuteScalar 执行一个查询并且返回查询结果集第一行第一列的值作为 .NET 框架数据类型返回。
ExecuteOracleScalar 执行一个查询并且返回查询结果集的第一行第一列的值作为Oracle指定类型 (OracleType 数据类型)返回。 ADO.Net对Oracle数据库的操作OracleConnection 对象 要访问一个数据源,你必须先建立一个到它的连接。这个连接里描述了数据库服务器类型、数据库名字、用户名、密码,和连接数据库所需要的其它参数。command对象通过使用connection对象来知道是在哪个数据库上面执行ORACLE命令。 OracleConnection oracleConn = new OracleConnection(); OracleCommand对象
连接数据库后就可以开始想要执行的数据库操作,这个是通过command对象完成,command对象一般被用来发送ORACLE语句给数据库。command对象通过connection对象得知道应该与哪个数据库进行连接。我们既可以用command对象来直接执行ORACLE命令,也可以将一个command对象的引用传递给OracleDataAdapter,OracleDataAdapter能包含一系列的command对象,可以处理大量数据。 public void ReadMyData(string connectionString)
{ string queryString = "SELECT EmpNo, DeptNo FROM Scott.Emp"; OracleConnection connection = new OracleConnection(connectionString) { OracleCommand command = new OracleCommand(queryString, connection); connection.Open(); OracleDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { Console.WriteLine(reader.GetInt32(0) + ", " + reader.GetInt32(1)); } } finally { reader.Close(); } } }OracleDataReader对象 许多数据库操作要求我们仅仅只是需要读取一组数据。这时候就用到了data reader对象。通过data reader对象,我们可以获得从command对象的SELECT语句得到的结果。考虑到性能方面的因素,data reader返回的数据流被设计为只读的、单向的,这将意味着你只能按照一定的顺序从数据流中取出数据。虽然你在这里也获得了性能上的提升,但是缺点也是明显的,不能够操作取回数据,如果需要操作编辑数据,解决的办法是使用DataSet。 DataSet对象 DataSet对象用于表示那些储存在内存中的数据。它包括多个DataTable对象,DataTable就象一个普通的数据库中的表一样,也有行和列,我们甚至能够通过定义表和表之间的关系来创建从属关系。DataSet主要用于管理存储在内存中的数据以及对数据的断开操作。注意,由于DataSet对象能被所有Data Providers(数据源交互的类库)使用,它不需要指定前缀。 OracleDataAdapter对象 某些时候我们只需要读数据,并且你不需要修改它们把更改写回数据源。但是还有这样一些情况为了减少数据库调用的次数,我们把数据缓存在内存中。Data adapter通过断开模型来轻松的实现了后面这种情况的处理。当批量完成的对数据库的读写操作的并将改变写回数据库的时候,data adapter 会填充(fill)DataSet对象。data adaapter里包含了connection对象,当对数据源进行读取或者写入的时候,data adapter会自动的打开或者关闭连接。此外,data adapter还包含对数据的SELECT,INSERT,UPDATE和DELETE操作的command对象引用。如果我们为DataSet中的每一个table都指定data adapter,它将会帮你处理好所有与连接处理数据库的操作,我们所需要做的仅仅就是告诉data adapter什么时候读取或者写入到数据库。 |
||||
|
|