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 ...
随机推荐
- Android中JNI编程的那些事儿(1)
转:Android中JNI编程的那些事儿(1)http://mobile.51cto.com/android-267538.htm Android系统不允许一个纯粹使用C/C++的程序出现,它要求必须 ...
- SQLMAP系列教程
1.SQLMAP安装及access注入: http://www.stronkin.com/en/CompHonorBig.asp?id=7 2.Mysql数据库注入 http://www.slib ...
- MinGW中的头文件路径级环境变量设置
整理自 MinGW中的头文件路径 C头文件目录%MINGW_PATH%/include下有头文件,里面有strcpy等c函数的声明. C++头文件目录%MINGW_PATH%/lib/gcc/mi ...
- 分析ECMall的注册与登录机制
ecmall的注册流程index.php?app=member&act=register. 首先app是member,act是register方法. index.php中.通过ecmall的s ...
- 网站页面优化必然趋势—WebP 图片!
本文梗概:众所周知,浏览器可以通过 HTTP 请求的 Accpet 属性 来指定接收的内容类型.依靠这个技术,可以在不修改任何 HTML/CSS 或者图片的情况下,向浏览器提供优化的图片,从而降低带宽 ...
- Java 声明和访问控制(三) finalize方法 成员访问修饰符
finalize()方法是Object类的一个方法,在垃圾回收器执行的时候,会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如文件关闭等. 成员访问修饰符: 默认访问:包访问 ...
- 设计模式之单例(singleton)设计模式代码详解
单例有两种:懒汉式和饿汉式 /** * 懒汉式的单例模式 * 这种单例模式如果采用到多线程调用该方法,有可能会产生多个实例,原因是: * 当线程一进入了①处,此时轮到线程二的时间片,线程二也来到①处, ...
- 【BZOJ 1319】 Sgu261Discrete Rootsv (原根+BSGS+EXGCD)
1319: Sgu261Discrete Roots Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 389 Solved: 172 Descriptio ...
- PHP的MVC框架 深入解析
本篇先介绍一下php的MVC实现原理,我们框架的MVC部分也是基于此原理实现的,但是今天的代码并不是框架内的代码,仅仅为说明原理 一.文件结构 建立3个文件夹 controller文件夹存放控 ...
- SectionIndexer中的getSectionForPosition()与getPositionForSection()
大家在做字母索引的时候常常会用到SectionIndexer这个类,里面有2个重要的方法 1. getSectionForPosition()通过该项的位置,获得所在分类组的索引号 2. getP ...