一、数据库连接

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

第一步:引入命名空间

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

using System.Data.OracleClient;

第二步:引入对应组件

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

第三步:写代码

 private void button1_Click(object sender, 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 = new OracleConnection(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:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN

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

 

二、执行sql语句(Command

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

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

当需要使用增删改操作时

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

当需要查询时 

string str1="select * from student";
OracleCommand cmd = new OracleCommand(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[]);
Console.WriteLine(dr[]);
}

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. git命令笔记
  2. openoffice从word转pdf问题
  3. A - Humble Numbers
  4. VMware Snapshot 工作原理
  5. VMware Tools安装
  6. iOS学习之UI可视化编程-StoryBoard
  7. 嵌入式linux内核是什么?
  8. 341. Flatten Nested List Iterator
  9. myeclipse中自己手动配置maven
  10. 推荐font-size的单位 % em单位
  11. 微信小程序之----消息提示框toast
  12. User-Agent-Switcher和fiddler
  13. python is, ==区别
  14. 2018-2019-2 20165205 《网络对抗技术》 Exp6 信息收集与漏洞扫描
  15. 处理机调度算法( RR 、HRRF)
  16. Filezilla server配置FTP服务器中的各种问题与解决方法
  17. shiro + jwt 实现 请求头中的 rememberMe 时间限制功能
  18. 解决vscode更新后Ext Js插件无法使用问题
  19. 洛谷 P4294 [WC2008]游览计划
  20. CodeForces - 1101D:GCD Counting (树分治)

热门文章

  1. 【NOIP 2017 提高组】列队
  2. iOS笔记055 - UI总结01
  3. .net 匿名方法
  4. python 读取数据库中文内容显示一堆问号
  5. DPDK的代码规范
  6. 第五章 Internet协议
  7. PTA 11-散列3 QQ帐户的申请与登陆 (25分)
  8. Ubuntu安装完之后需要做的事情
  9. BZOJ3594 [Scoi2014]方伯伯的玉米田 【树状数组优化dp】
  10. echarts异步加载