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();