当前位置: Oracle DBA培训网-优技培训 >> oracle培训 > Oracle培训教程 >

Oracle培训:使用ADO.NET连接Oracle

Oracle培训:使用ADO.NET连接Oracle

Oracle培训:使用ADO.NET连接Oracle,使用ADO.NET数据访问技术连接Oracle数据库和连接Sql Server数据库的步骤基本相同:

1. 使用Connection对象建立数据库连接。

2. 使用Command对象执行数据库操作。

3. 采用连线或者断线的方式进行数据的存取。

4. 使用Connection对象的Close方法关闭数据库连接。

连接Sql Server数据库和Oracle数据库所使用的数据提供程序是不一样的,连接Sql Server数据库使用的是SqlServer.NET,包括SqlConnection、SqlCommand等数据访问类。而连接Oracle数据库则使用的是Oracle.NET,包括OracleConnection、OracleCommand等数据访问类,包含在System.Data.OracleClient命名空间下,由于该命名空间默认并没有被添加到项目中来,所以在使用前需要如图2所示添加响应的引用才能使用。

图1 添加System.Data.OracleClient引用

案例1:在Oracle数据库中在System用户下,创建UserInfo表,并插入一定数据,使用ADO.NET数据访问技术将UserInfo表中的数据检索出来,并显示在ASP.NET页面中。UserInfo表中的数据如图3所示。

图2 UserInfo表中数据

实现步骤:

1. 使用OracleConnection对象建立与Oracle之间的连接。

代码演示:建立连接

//连接字符串

string connectionString = "Data Source=MYORCL;User ID=System;Password=accp;Unicode=True";

//创建Oracle连接对象

OracleConnection con = new OracleConnection(connectionString);

//打开连接

con.Open();

2. 创建命令行对象,准备执行检索数据库操作。

代码演示:建立命令行对象

//建立Sql查询语句

string sql = "select * from userinfo";

//创建Oracle命令行对象

OracleCommand cmd = new OracleCommand(sql, con);

//执行命令行对象

OracleDataReader odr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

3. 创建实体类,并遍历结果集,将数据存放到集合中存储。

代码演示:创建实体类

//实体类

public class UserInfo

{

    int userID;

 

    public int UserID

    {

        get { return userID; }

        set { userID = value; }

    }

    string userName;

 

    public string UserName

    {

        get { return userName; }

        set { userName = value; }

    }

    string userAge;

 

    public string UserAge

    {

        get { return userAge; }

        set { userAge = value; }

    }

}

代码演示:遍历结果集

//遍历结果集

IList<UserInfo> users = new List<UserInfo>();

while (odr.Read())

{

    UserInfo user = new UserInfo();

    user.UserID = Convert.ToInt32(odr["UserID"]);

    user.UserName = Convert.ToString(odr["UserName"]);

    user.UserAge = Convert.ToString(odr["UserAge"]);

 

    users.Add(user);

}

4. 将集合中的数据绑定到GridView控件上显示出来。

代码演示:绑定数据

//绑定DataGridView控件

this.GridView1.DataSource = users;

this.GridView1.DataBind();

根据上面的操作,不难看出连接Oracle数据库与连接SqlServer数据库除了数据提供程序方面有所区别之外,从操作步骤和实现原理等方面看区别不大。按照上面步骤操作,在页面中运行的效果如图3所示。增删改操作和检索操作基本相似,在这里就不再叙述了。

图3 案例效果

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙