近期接触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(一):获取多行记录集的更多相关文章

  1. SqlServer,Oracle,Mysql 获取指定行数

    --sqlserver * FROM dbo.T_TASK --oracle --mysql ,

  2. Oracle EBS 获取完全的值集信息

    SELECT fvs1.flex_value_set_name, fvs1.description, decode(upper(fvs1.longlist_flag), 'N', '值列表', 'Y' ...

  3. [转].net 调用oracle存储过程返回多个记录集

    本文转自:http://www.netwinform.com/articleinfo.aspx?id=17 存储过程: CREATE OR REPLACE PROCEDURE p_query_cs ( ...

  4. oracle 与sql serve 获取随机行数的数据

    Oracle 随机获取N条数据    当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到这 ...

  5. [转]使用ADO.NET访问Oracle存储过程

    本文转自:http://www.cnblogs.com/datasky/archive/2007/11/07/952141.html 本文讨论了如何使用 ADO.NET 访问 Oracle 存储过程( ...

  6. ado.net 之 oracle 数据库

    ado.net 操作oracle 数据库 跟操作mssql 的原来基本一样.只是使用不同的命名空间而已.下面举几个例子: 一. C#读取oracle数据库的表格 ///ado.net 读取table ...

  7. oracle 查询表中数据行(row)上最后的DML时间

    在这介绍Oracle 10G开始提供的一个伪列ORA_ROWSCN,它又分为两种模式一种是基于block这是默认的模式(块级跟踪):还有一种是基于row上,这种模式只能在建里表时指定ROWDEPEND ...

  8. 关于ADO.NET连接ORACLE,使用ODAC连接中的一些问题

    ADO.NET连接ORACLE时,用到ODAC组件时,有几点注意的. 1.安装的具体方法见:http://jingyan.baidu.com/article/e4511cf336ce872b845ea ...

  9. .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】

    1.首先在前台dataGridview属性中增加onRowDataBound属性事件 2.然后在后台Observing_RowDataBound事件中增加代码 protected void Obser ...

随机推荐

  1. UIApplication 常用方法

    下面是这个类的一些功能:1.设置icon上的数字图标 //设置主界面icon上的数字图标,在2.0中引进, 缺省为0 [UIApplicationsharedApplication].applicat ...

  2. 解决ubuntu侧边栏固定应用单击无反应的问题

    Linux下有些绿色软件,不需要安装就可以双击启动,但有些程序在打开后直接在 Launcher 中右键选择 Lock to Launcher ,但是,有时候单击图标后并未启动应用,下面给出解决方法. ...

  3. python和django的一些小技巧(locals()...)

    locals() 技巧: 思考一下我们对 current_datetime 的最后一次赋值: >>> import datetime >>> def current ...

  4. Cloud Insight!StatsD 系监控产品新宠!

    年关将至,Cloud Insight 正式版悄然上线了.没有大张旗鼓的宣传,也没有热热闹闹的庆祝,只是一群人在上线前踏踏实实的优化了两周,然后发版,就是这样一件简单的事. 然而就是这样一个低调的产品, ...

  5. QWidget与HWND的互相转换

    QWidget与HWND的互相转换 在编写Windows的应用程序时,我们有时不可避免地要与Windows平台固有的Win32 API打交道,但是Win32 API里面常常用到的HWND等诸多句柄QT ...

  6. 带文字的ImageButton[自定义]

    今天Android项目中遇到一个ImageButton控件上面要显示文字,无奈自定义了一个ImageButton,继承自ImageButton.其实就是override这个控件的onDraw(Canv ...

  7. Php使用sqlite

    php sqlite文档:http://php.net/manual/en/book.sqlite.php sql:http://www.php100.com/html/webkaifa/PHP/PH ...

  8. 17.1.1.2 Setting the Replication Slave Configuration

    17.1.1.2 Setting the Replication Slave Configuration 在一个复制slave, 你必须创建一个唯一的server ID,如果这个没有做,slave设置 ...

  9. 【HDOJ】5288 OO’s Sequence

    二分寻找对于指定pos的最左因数点和最右因数点. /* 5288 */ #include <iostream> #include <string> #include <m ...

  10. HDU-2551 竹青遍野

    http://acm.hdu.edu.cn/showproblem.php?pid=2551 妙用for循环. 竹青遍野 Time Limit: 2000/1000 MS (Java/Others)  ...