C#连接oracle数据库操作

来源:互联网 发布:2018软件工程硕士在职 编辑:程序博客网 时间:2024/05/22 15:00
1、导入引用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()+" &nbsp;  "+oraRD[1].ToString()+"&nbsp; "+oraRD[2].ToString()+"<br>";
}
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("<script>alert('"+ex.Message+"')</script>");
}
finally
{
//关闭连接
oraCon.Close();
} 
绿色通道:好文要顶关注我收藏该
0 0
原创粉丝点击