• 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


  • 相关阅读:
    无法启动IIS Express Web服务器 端口"1025"正在使用
    mysql查看是否锁表并解除锁
    C#的栈
    面向对象VS面向过程
    Visual Studio包管理器NuGet 依赖管理
    Vue中的Promise.all()
    【1024练习】Mybatis练习三
    【1023练习】MyBatis练习二
    【练习】mybatis
    【练习】json数组,以及json对象数组循环在页面的选择下拉框,ul列表,table等中显示出来
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5308581.html
Copyright © 2020-2023  润新知