zoukankan      html  css  js  c++  java
  • 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


  • 相关阅读:
    HDU2059(龟兔赛跑)
    pat 1012 The Best Rank
    pat 1010 Radix
    pat 1007 Maximum Subsequence Sum
    pat 1005 Sign In and Sign Out
    pat 1005 Spell It Right
    pat 1004 Counting Leaves
    1003 Emergency
    第7章 输入/输出系统
    第六章 总线
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5308581.html
Copyright © 2011-2022 走看看