Welcome

首页 / 软件开发 / C# / c#连接oracle数据库的方法

c#连接oracle数据库的方法2014-10-011、导入引用System.Data.OracleClient.dll文件

2、在头部using System.Data.OracleClient;

//通过DataSet来读取数据:

//创建和数据库的连接

OracleConnection oraCon=new OracleConnection("user id=112;data source=wmatech;password=112");

//新建一个DataAdapter用于填充DataSet

OracleDataAdapter oraDap=new OracleDataAdapter("select * from actor",oraCon);

//新建一个DataSet

DataSet ds=new DataSet();

//填充DataSet

oraDap.Fill(ds);

//新建一个DataTable

DataTable _table=ds.Tables[0];

//查看表中数据的列数

int count=_table.Rows.Count;

DataGrid1.DataSource=_table;

DataGrid1.DataBind();

//通过DataReader来读取数据:

//创建和数据库的连接

OracleConnection oraCon=new OracleConnection("user id=112;data source=wmatech;password=112");

//新建一个对数据库操作的实例

OracleCommand oraCmd=new OracleCommand("select * from actor",oraCon);

//打开数据库连接

oraCon.Open();

//DataReader提供一种从数据库读取行的只进流的方式。

OracleDataReader oraRD= oraCmd.ExecuteReader();

string szHtml="";

while (oraRD.Read())

{

szHtml+=oraRD[0].ToString()+"   "+oraRD[1].ToString()+"  "+oraRD[2].ToString()+"

";

}

oraRD.Close();

//关闭数据库连接

oraCon.Close();

Response.Write(szHtml);

//通过Command操作数据库

//创建和数据库的连接

OracleConnection oraCon=new OracleConnection("user id=112;data source=wmatech;password=112");

//新建一个对数据库操作的实例

OracleCommand oraCmd=new OracleCommand("update actor set name="123453" where id="admin"",oraCon);

oraCon.Open();

//ExecuteNonQuery对连接执行Transact-SQL语句并返回受影响的行数。

int effnum=oraCmd.ExecuteNonQuery();

Response.Write(effnum.ToString());

oraCon.Close();

//关于Transaction函数的使用

//创建和数据库的连接

OracleConnection oraCon=new OracleConnection("user id=112;data source=wmdb;password=112");

OracleCommand oraCmd=new OracleCommand();

//打开连接

oraCon.Open();

//新建一个事务对象的实例

OracleTransaction oraTact=oraCon.BeginTransaction();

oraCmd.Connection=oraCon;

//绑定事务对象到命令

oraCmd.Transaction=oraTact;

try

{

//将一个表的满足某条件的行的指定的列插入到另一个表

oraCmd.CommandText="insert into yz_tranetp_probpow(oid,parentid,shiptype,amount,ton,weight,custnum,cubmeter,standbox,shipchara,busrange) select oid,parentid,shiptype,amount,ton,weight,custnum,cubmeter,standbox,shipchara,busrange from yz_tranetp_probpow_app where seqappid=""+appid+"" and needupdated=1";

oraCmd.ExecuteNonQuery();

oraCmd.CommandText="update yz_tranetp_probpow_app set needupdated=0 where seqappid=""+appid+""";

oraCmd.ExecuteNonQuery();

//没有错误,执行提交命令

oraTact.Commit();

}

catch(Exception ex)

{

//出现错误,执行回滚命令

oraTact.Rollback();

//弹出窗口显示错误

Response.Write(" ");

}

finally

{

//关闭连接

oraCon.Close();

}