ADO.NET与Oracle(一):获取多行记录集
近期接触ADO.NET和Oracle。将我寻常遇到的一些问题和大家共享。
我认为要想入门ADO.NET操作Oracle,最主要的要求就是要会通过ADO.NET更新Oracle中的数据。
该文简单讲些利用Command对象更新数据库
全部内容基于VS2010和Oracle11g(32bit)
1、连接数据库
连接数据库依靠OracleConnection对象
OracleConnection con = new OracleConnection("data source=orcl;uid=system;pwd=********");
orcl是数据库的名字,这是安装oracle时系统默认的。
安装好数据库后,也能够通过Database Configuration Assistant工具来删除或创建数据库
uid是登录名。pwd是登陆口令
要想连接到数据库,仅仅需运行con.Open()方法
而要断开连接时,仅仅需运行con.Close()或con.Dispose()方法。
2、操作数据库
连接好数据库,就能够对数据库进行操作了
从最简单的操作做起,即从数据库中返回全部记录
如今在数据库中创建一个product表
例如以下:
| ID | Name | Price | Count |
| 001 | Apple | 6 | 3 |
| 002 | Orange | 5 | 4 |
| 003 | Pear | 4 | 2 |
上表记录了苹果和橙子的ID以及单位价格和数量。
当中ID、Name都是varchar类型的数据,而Price和Count都是Number类型的数据
如今尝试读取表中的全部数据。再将这些数据全然显示的屏幕上。
代码例如以下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OracleClient; namespace DataReader
{
class Program
{
static void Main(string[] args)
{
try
{
using (OracleConnection con = new OracleConnection("data source=orcl;uid=system;pwd=wu92890910xu"))
{
using (OracleCommand cmd = new OracleCommand("select * from product", con))
{
con.Open(); OracleDataReader dataReader = cmd.ExecuteReader(); if (dataReader.HasRows)
Console.WriteLine("读取到数据...");
else
Console.WriteLine("未读取到数据..."); while (dataReader.Read())
{
Console.WriteLine(dataReader.GetString(1) + ": " + dataReader.GetDouble(2) * dataReader.GetDouble(3));
} }
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
} Console.ReadKey();
}
}
}
你能够尝试把select * from product 改成select id,name from product之类的语句
附:假设要使用ADO.NET操作Oracle,必须包含命名空间
using System.Data.OracleClient;
该命名空间是由Oracle公司提供的。NET本身不提供。
假设你须要那个.dll文件,能够e-mail:cf520wuxu@outlook.com
ADO.NET与Oracle(一):获取多行记录集的更多相关文章
- SqlServer,Oracle,Mysql 获取指定行数
--sqlserver * FROM dbo.T_TASK --oracle --mysql ,
- Oracle EBS 获取完全的值集信息
SELECT fvs1.flex_value_set_name, fvs1.description, decode(upper(fvs1.longlist_flag), 'N', '值列表', 'Y' ...
- [转].net 调用oracle存储过程返回多个记录集
本文转自:http://www.netwinform.com/articleinfo.aspx?id=17 存储过程: CREATE OR REPLACE PROCEDURE p_query_cs ( ...
- oracle 与sql serve 获取随机行数的数据
Oracle 随机获取N条数据 当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到这 ...
- [转]使用ADO.NET访问Oracle存储过程
本文转自:http://www.cnblogs.com/datasky/archive/2007/11/07/952141.html 本文讨论了如何使用 ADO.NET 访问 Oracle 存储过程( ...
- ado.net 之 oracle 数据库
ado.net 操作oracle 数据库 跟操作mssql 的原来基本一样.只是使用不同的命名空间而已.下面举几个例子: 一. C#读取oracle数据库的表格 ///ado.net 读取table ...
- oracle 查询表中数据行(row)上最后的DML时间
在这介绍Oracle 10G开始提供的一个伪列ORA_ROWSCN,它又分为两种模式一种是基于block这是默认的模式(块级跟踪):还有一种是基于row上,这种模式只能在建里表时指定ROWDEPEND ...
- 关于ADO.NET连接ORACLE,使用ODAC连接中的一些问题
ADO.NET连接ORACLE时,用到ODAC组件时,有几点注意的. 1.安装的具体方法见:http://jingyan.baidu.com/article/e4511cf336ce872b845ea ...
- .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】
1.首先在前台dataGridview属性中增加onRowDataBound属性事件 2.然后在后台Observing_RowDataBound事件中增加代码 protected void Obser ...
随机推荐
- asp.net中Web使用Socket
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- python url解析
>>> url="http://localhost/test.py?a=hello&b=world " >>> result=urlpa ...
- bzoj 2402: 陶陶的难题II 二分答案维护凸包
2402: 陶陶的难题II Time Limit: 40 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 68 Solved: 45[Submi ...
- COGS 577 蝗灾 [CDQ分治入门题]
题目链接 昨天mhr神犇,讲分治时的CDQ分治的入门题. 题意: 你又一个w*w正方形的田地. 初始时没有蝗虫. 给你两个操作: 1. 1 x y z: (x,y)这个位置多了z只蝗虫. 2. 2 x ...
- windows远程桌面连接配置
我的电脑 -> 属性 -> 远程 把两个checkbox勾上 运行(win + r) -> 输入secpol.msc回车 -> 找到本地策略 -> 安全选项 ->账 ...
- Winform的多线程问题
http://blog.csdn.net/Maths_bai/article/details/6000744
- Hibernate:组合模式解决树的映射
树经常用来展示目录结构,那么在Hibernate中怎样解决树的映射问题呢? 先来看一个分销商的树形结构的例子 所有分销商 东北区 辽宁省 沈阳医药 吉林省 华北区 北京市 北京医药 河北省 华南区 那 ...
- Timer计时不准确的解决方案 每次都重新调整,修正误差
http://stackoverflow.com/questions/29722838/system-timers-timer-steadily-increasing-the-interval 需要在 ...
- Http状态码完整说明
在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样, 一些常见的状态码为: 200 - 服务器成功返 ...
- 深入学习JS: __doPostBack函数
在.NET中,所有的服务器控件提交到服务器的时候,都会调用__doPostBack这个函数,所以灵活运用这个函数对于我们的帮助还是很大的. 比如,在我们写程序的时候经常会需要动态的生成一些控件,最简单 ...