码迷,mamicode.com
首页 > 数据库 > 详细

ADO.NET与Oracle(一):获取多行记录集

时间:2015-04-01 22:02:22      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

最近接触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(一):获取多行记录集

标签:

原文地址:http://blog.csdn.net/njupt_program/article/details/44811171

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!