C# 如何访问并操作oracle数据库....希望能说详细一点,我是一个超级超级菜鸟.....

VS2008,oracle 10
2024-11-27 02:18:55
推荐回答(1个)
回答1:

这个不太好说,我给你写点ADO.NET的结构和关系吧,你看了应该会有点思路。
一、ADO.NET 结构
两个组件:
1、.NET Framework 数据提供程序
2、DataSet

二、.NET Framework 数据提供程序
NET Framework 数据提供程序是专门为数据处理以及快速地只进、只读访问数据而设计的组件。
1、Connection
2、Command
3、DataAdapter
4、DataReader

三、Connection 对象
是开启程序和数据库之间的连结
没有利用连结对象将数据库打开,是无法从数据库中取得数据的
这个对象在ADO.NET的最底层
可以自己产生这个对象,或是由其它的对象自动产生

四、Command 对象
架构在Connection对象上
向数据库发出操作指令(增、删、改、查)
呼叫存在数据库中的预存程序等
透过连结到数据源的Connection对象来下命令
Connection连结到哪个数据库,Command对象的命令就下到哪里

五、DataAdapter 对象
架构在Command对象上,并提供了许多配合DataSet使用的功能
在数据源于DataSet之间执行数据传输的工作
它可以透过Command对象下达命令后,并将取得的数据放入DataSet对象中

六、DataReader 对象
一次一笔向下循序的读取数据源中的数据
这些数据是只读的,并不允许作其它的操作
节省资源而且效率很好
可以降低网络的负载

七、DataSet
这个对象架构在DataAdapter对象上
可以视为一个暂存区(Cache)
可以把从数据库中所查询到的数据保留起来
可以将整个数据库显示出来
可以储存多个Table
可以透过DataAdapter对象取得表结构
可以记录数据表间的关联
本身不具备和数据源沟通的能力

例子:
string ConnectionString
= "Data Source=xxx;Persist Security Info=True;User ID=xx;Password=xx";

DataSet ds = new DataSet();
OracleConnection conn;
OracleDataAdapter da;
DataTable table = new DataTable();
OracleCommand oraCmd;

conn = new OracleConnection( ConnectionString );
conn.Open();

da = new OracleDataAdapter( "select t.* from cinfo_t t", conn );
ds.Clear();
da.Fill( ds, "UserInfo" );
conn.Close();
this.dataGridView1.DataSource = ds.Tables["UserInfo"];
-------------------------------------------------------
if( conn.State == ConnectionState.Closed )
{
conn.Open();
}
oraCmd = new OracleCommand( "truncate table xx", conn );
oraCmd.Transaction = transaction;

oraCmd.ExecuteNonQuery();

------------------------------------------------------------
DataTable dt = ( DataTable )dataGridView1.DataSource;
OracleCommandBuilder bu = new OracleCommandBuilder( da );
da.Update( ds.Tables["UserInfo"] );

以上希望对你有帮助,另外你可以去我的文库中找相关的文档看看,我传过几个ADO.NET 的文档,你看了之后应该就熟悉如何对数据库进行操作了。