枚举数据库oracle,转载------链接oracle数据库以及一些简单的操作

1.连接数据库

using (OracleConnection conn = new OracleConnection("data source=192.168.97.60/orcl;User Id=abc;Password=abc;"))

{

conn.Open();

}

using(....){.......}:using的使用就是在与资源的释放。

连接数据库要知道数据库的数据源data source,用户名User Id,以及密码Password,正确填写这些,在用上面的代码,一般连接都是成功的。

2.数据库的增、删、改

using (OracleConnection conn = new OracleConnection("data source=192.168.97.60/orcl;User Id=abc;Password=abc;"))

{

conn.Open();

using(OracleCommand cmd=conn.CreateCommand())

{

cmd.CommandText = "INSERT INTO SZPT(id) VALUES (sys_guid())";

cmd.ExecuteNonQuery();

}

}

必须打开数据库连接之后才可以进行增删改,就是说conn.Open()要放在前面,进行增删改就用ExecuteNonQuery。

着重说明一下sys_guid(),sys_guid()会生成一个独一无二的32的字符串,来作为唯一标示的表的主键。

3.获取返回只有一行一列的数据

using (OracleConnection conn = new OracleConnection("data source=192.168.97.60/orcl;User Id=abc;Password=abc;"))

{

conn.Open();

using(OracleCommand cmd=conn.CreateCommand())

{

cmd.CommandText = "SELECT COUNT(*) FROM SZPT";

decimal i= (decimal)cmd.ExecuteScalar();

MessageBox.Show(i.ToString());

}

}

获取一行一列的数据用ExecuteScalar

4.获取返回的表

using (OracleConnection conn = new OracleConnection(connstr))

{

conn.Open();

using(OracleCommand cmd=new OracleCommand())

{

cmd.Connection = conn;

cmd.CommandText = sql;

// cmd.Parameters.AddRange(parameters);

OracleDataAdapter ada = new OracleDataAdapter(cmd);

DataSet ds = new DataSet();

ada.Fill(ds);

return ds.Tables[0];

}

}

5.获取返回的ExecuteReader

using (OracleConnection conn = new OracleConnection(connstr))

{

conn.Open();

using(OracleCommand cmd=new OracleCommand())

{

cmd.CommandText = sql;

//cmd.Parameters.AddRange(parameters);

OracleDataReader reader= cmd.ExecuteReader();

while (reader.Read())

{

reader.GetString(0);

}

}

}

注意:DataSet获得的表数据会存储到客户端,而ExecuteReader获得的数据是存储在服务端的,用ExecuteReader获取数据的时候,如果和服务端断开了,数据也就不会再获得,而4当数据存储到客户端后,即使与服务端断开数据依然会有。

所以当获取的数据量不大的时候可以用DataSet把数据存储到客户端,如果获取的数据量很大,最好用ExecuteReader这样不至于客户端的内存占用太大而至于性能不好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值