21.3 使用写代码的方式连接Oracle

使用写代码的方式连接数据库的原理实际上与直接绑定是一样的,这里需要使用前面介绍的ADO.NET的5个对象。本节将讲述如何使用这5个对象完成对数据库的操作。

21.3.1 使用Command对象操作Oracle数据库

使用Command对象操作Oracle数据库,在查询数据库操作时是把结果存放在DataReader对象中的。无论是使用什么方法连接数据库,都必须保证使用到的对象就是数据库的连接对象Connection。在使用Connection对象连接数据库时,需要使用连接数据库的连接串。本小节主要介绍连接Oracle数据库的连接串。在21.2节中绑定DataGridView时,就配置过数据库的连接串。一般的连接串写法如下:


Data Source="服务名"User ID="用户名"Password="密码"Unicode="TRUE"


【语法说明】

❑Data Source:连接数据库时的服务名。

❑User ID:连接数据库时使用的用户名。

❑Password:连接数据库时用户的密码。

使用Command对象连接Oracle数据库分为以下几个步骤。

1.创建数据库的连接

由于连接的是Oracle数据库,那么连接对象就是OracleConnection。创建连接对象的方法如下:


OracleConnection 对象名=new OracleConnection("连接字符串");


【语法说明】

❑对象名:可以是任意的名称,但是定义的对象名要以字母开头或者下划线开头,不能以数字开头。

❑连接字符串:连接串就是连接数据库的字符串,可以直接把连接串写到括号里,也可以先定义一个变量来存放连接字符串,再把这个变量放在括号里。

例如,创建一个对象名是conn的数据库连接对象。代码如下:


OracleConnection conn=new OracleConnection();


2.打开数据库连接

打开数据库连接使用的方法如下:


创建的数据库连接名称.Open();


例如,打开上述的数据库连接对象conn。代码如下:


conn.Open();


3.使用command命令操作数据库

对数据库中表的操作主要就是增加、删除、修改以及查询4种常用的操作。使用command命令完成这些操作只使用两种方法就可以,一种是执行增加、删除、修改操作时要使用的ExecuteNonQuery方法;另一种是执行查询的操作的ExecuteReader方法。无论使用哪种方法,首先要执行的是创建连接Oracle数据库的命令对象。代码如下:


OracleCommand 命令对象的名称=new OracleCommand (连接对象名称,SQL语句);


【语法说明】

❑连接对象名称:前面创建的OracleConnection对象的名称conn。

❑SQL语句:执行对数据库表操作的增加、删除、修改、查询操作的语句。

例如,创建名为cmd的命令对象。代码如下:


OracleCommand cmd=new OracleCommand (conn,SQL语句);


在创建连接Oracle数据库的命令对象后,就可以执行对数据库的操作了。执行查询操作的代码如下:


创建连接Oracle数据库的命令对象名.ExecuteReader();


这里,创建连接Oracle数据库的命令对象名就是指前面创建的cmd。执行查询操作后,查询结果是OracleDataReader类型的。

例如,执行查询语句,代码如下:


OracleCommand cmd=new OracleCommand(conn,"select*from SALES");

OracleDataReader dr=cmd.ExecuteReader();


执行增加、删除、修改操作的语句也就是非查询语句,代码如下:


创建连接Oracle数据库的命令对象名.ExecuteNonQuery();


这里,在执行非查询的操作后,返回的结果是int类型,如果结果是-1,则代表操作失败。

例如,执行非查询语句,代码如下:


OracleCommand cmd=new OracleCommand(conn,"delete from SALES");

OracleDataReader dr=cmd.ExecuteReader();


4.关闭数据库的连接

在对数据库表的操作执行完毕后,要关闭数据库的连接,否则就会浪费数据库的资源。关闭数据库的连接是非常简单的。代码如下:


数据库的连接对象.Close();


例如,关闭上面创建的数据库连接对象conn。代码如下:


conn.Close();