(1)OracleClient数据库操作(淘汰)

摘要:
datasource是数据资源的意思,用Oracle数据库时用这个。用conn.State判断当前数据库是关闭还是打开的,而ConnectionState.Open得意思是打开。通常和函数配合使用,为了计算某个值。如果一个OracleConnection创建了多个OracleDataReader,则在创建OracleDataReader之前需要先管壁上一个。

一、数据库连接

Oracle 数据提供程序,位于System.Data.OracleClient命名空间.(.NET 4 以后的版本,会将不在维护和更新了)

第一步:引入命名空间

在程序的开头写上下面的代码

using System.Data.OracleClient;

第二步:引入对应组件

点击项目-右键-添加引用-找到System.Data.OracleClient-确定.

(1)OracleClient数据库操作(淘汰)第1张

第三步:写代码

 private void button1_Click(objectsender, EventArgs e)
        {
             string str="server=.;data source=orcl;uid=xxx;pwd=xxx";
     //上面这句需要安装Oracle客户端并配置tnsnames.ora
            //string str = "User ID=xxx;Password=xxx;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)));";
            //上面这句需要安装Oracle客户端不需配置tnsnames.ora
            OracleConnection conn = newOracleConnection(str);
            conn.Open();
            if (conn.State ==ConnectionState.Open)
            {
                MessageBox.Show("连接成功");
            }
            conn.Close();
        }

database和data source的区别?

database是数据库的意思,用sqlserver数据库是需要用这个。

data source是数据资源的意思,用Oracle数据库时用这个。

if (conn.State == ConnectionState.Open)的意思? 用conn.State判断当前数据库是关闭还是打开的,而ConnectionState.Open得意思是打开。所以如果数据库是打开状态就可以为“真”。 这句话是用来判断数据库是不是打开状态的。(前提是要引用using System.Data;命名空间)

安装oracle后 tnsnames.ora文件目录
D:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN

ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

二、执行sql语句(Command

OracleCommand 命令对象的名称 =new OracleCommand(SQL语句,连接对象名称);

共分为两种操作:增删改和查询操作

当需要使用增删改操作时

string str1="insert into student values(1,'tom')";
OracleCommand cmd = newOracleCommand(str1,conn);
cmd.ExecuteReader();

当需要查询时 

string str1="select * from student";
OracleCommand cmd = newOracleCommand(str1,conn);
OracleDataReader dr=cmd.ExecuteReader();//把查询的结果传给OracleDataReader的对象
//下一步读取数据

读取数据

OracleDataReader对象获取到值以后就需要读取数据了

首先

 dr.read();//把箭头指向表格的第一行,第一列

然后

dr["表的字段名"]或者dr[下标数字(相当于数组)] 就可以读取指定的数据了

假设

表格的第一个字段是id,第二个字段是name

例如

dr["id"] 或者dr[0] 就能读出第一行第一列的数据

dr["name"]或者di[1]就能读出第一行第二列的数据

如果想要第二行的数据就需要用到循环

while (dr.Read())//假设这是一个控制台程序
{
                Console.Write(dr[0]);
                Console.WriteLine(dr[1]);
            }

command 有三个常用方法

1、

cmd.ExecuteNonQuery();//执行sql语句并返回受影响的行数。通常用来执行增删改。

2、

OracleDataReader dr=cmd.ExecuteReader();//执行sql语句并把查询的内容放到OracleDataReader对象里。用来做查询

3、

cmd.ExecuteScalar();//执行sql语句,并返回结果集中的第一行第一列。通常和函数配合使用,为了计算某个值。

三、 DataReader

OracleDataReader的属性:HasRows 用来判断结果是否有数据,有的话返回True

if(dr.HasRows)
{
    MessageBox.Show("数据表中有值");
}

OracleDataReader的方法:

dr.read();//
dr.Close();//关闭OracleDataReader对象。如果一个OracleConnection创建了多个OracleDataReader,则在创建OracleDataReader之前需要先管壁上一个。

四、数据适配器 DataAdapter对象

DataAdapter对象是一个数据适配器对象,在DataSet与数据源之间起到桥梁的作用。它有四个属性

1、 SelectCommand ,用来向数据库发送查询SQL语句

2、DeleteCommand,向数据库发送删除语句

3、InsertCommand,向数据库发送插入语句

4、UpdateCommand,向数据库发送更新语句

DataAdapter的方法

1 、Fill方法:用于填充DataSet数据集

da.Fill(ds,"student");//括号里的参数(Data对象,表名);
dataGridView1.DataSource = ds.Tables["表名"];
//或者dataGridView1.DataSource = ds.Tables[0];

2、Updata方法:用来更新数据库

五、数据集DataSet

免责声明:文章转载自《(1)OracleClient数据库操作(淘汰)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇react异步数据如ajax请求应该放在哪个生命周期?Android LBS系列03 Geocoder类与地址显示下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle Data Guard 重要配置参数

Oracle Data Guard主要是通过为生产数据库提供一个或多个备用数据库(是产生数据库的一个副本),以保证在主库不可用或异常时数据不丢失并通过备用数据库继续提供服务。对于Oracle DG的配置,我们可以通过Grid Control来完成,也可以通过Data Guard Broker以及SQL*Plus来完成。对于前两者方式可以在图形界面上完成,操...

单体架构、SOA、微服务

1、单体架构 2、单体架构的拆分 3、SOA与微服务的区别 4、微服务的优缺点 5、微服务的消息 6、服务集成 7、数据的去中心化 一、单体架构 Web应用程序发展的早期,大部分web工程是将所有的功能模块(service side)打包到一起并放在一个web容器中运行,很多企业的Java应用程序打包为war包。其他语言(Ruby,Python或者C++)...

VS中关于数据库的操作

1.数据库迁移 第一步: 第二步: 在窗口中选择项目中的EntitiyFramwork项目(与数据库连接的文件集) 第三步: 输入update-database    二:数据对比 第一步:    第二步:选择需要对比的源数据库和目标数据库 第三步:选择需要对比的表、字段或视图 第四步: 第五步: 三、数据架构对比(当表结构发生改变时) 第一步:...

Entity Framework 6 自定义连接字符串ConnectionString连接MySQL

  在开始介绍之前,首先来看看官方对Entity Framework的解释:Entity Framework (EF) is an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects....

fmdb使用

[iOS]数据库第三方框架FMDB详细讲解 字数1706 阅读2976 评论17 喜欢110 [iOS]数据库第三方框架FMDB详细讲解 初识FMDB iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较麻烦。于是,就出现了一系列将SQLite API进行封装的库,例如FMDB、PlausibleDatab...

SqlServer导入mdf、ldf文件

方法一 连接数据库 右键某一个数据库,新建查询,输入如下代码后运行 EXEC sp_attach_db @dbname = '你的数据库名', @filename1 = 'mdf文件路径(包缀名)', @filename2 = 'Ldf文件路径(包缀名)' 注: 如果导入不成功,则需要修改mdf,ldf文件的权限。...