拖了很久今天终于在博客园写了自己第一篇随笔:

话不多说,我们直接进入正题:

1.连接数据库

using (OracleConnection conn = new OracleConnection("data source=192.168.97.60/orcl;User Id=abc;Password=abc;"))
            {
                conn.Open();

}

using(....){.......}:using的使用就是在与资源的释放。

连接数据库要知道数据库的数据源data source,用户名User Id,以及密码Password,正确填写这些,在用上面的代码,一般连接都是成功的。

2.数据库的增、删、改

using (OracleConnection conn = new OracleConnection("data source=192.168.97.60/orcl;User Id=abc;Password=abc;"))
            {
                conn.Open();
                using(OracleCommand cmd=conn.CreateCommand())
                {
                    cmd.CommandText = "INSERT INTO SZPT(id) VALUES (sys_guid())";
                    cmd.ExecuteNonQuery();
                }
            }

必须打开数据库连接之后才可以进行增删改,就是说conn.Open()要放在前面,进行增删改就用ExecuteNonQuery。

着重说明一下sys_guid(),sys_guid()会生成一个独一无二的32的字符串,来作为唯一标示的表的主键。

3.获取返回只有一行一列的数据

using (OracleConnection conn = new OracleConnection("data source=192.168.97.60/orcl;User Id=abc;Password=abc;"))
            {
                conn.Open();
                using(OracleCommand cmd=conn.CreateCommand())
                {
                    cmd.CommandText = "SELECT COUNT(*) FROM SZPT";
                    decimal i= (decimal)cmd.ExecuteScalar();
                    MessageBox.Show(i.ToString());
                }
            }

获取一行一列的数据用ExecuteScalar

4.获取返回的表

using (OracleConnection conn = new OracleConnection(connstr))
            {
                conn.Open();
                using(OracleCommand cmd=new OracleCommand())
                {
                    cmd.Connection = conn;
                    cmd.CommandText = sql;
                   // cmd.Parameters.AddRange(parameters);
                    OracleDataAdapter ada = new OracleDataAdapter(cmd);
                    DataSet ds = new DataSet();
                    ada.Fill(ds);
                    return ds.Tables[0];
                }
            }

5.获取返回的ExecuteReader

using (OracleConnection conn = new OracleConnection(connstr))
            {
                conn.Open();
                using(OracleCommand cmd=new OracleCommand())
                {
                    cmd.CommandText = sql;
                    //cmd.Parameters.AddRange(parameters);
                    OracleDataReader reader= cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        reader.GetString(0);
                    }
                }
            }

注意:DataSet获得的表数据会存储到客户端,而ExecuteReader获得的数据是存储在服务端的,用ExecuteReader获取数据的时候,如果和服务端断开了,数据也就不会再获得,而4当数据存储到客户端后,即使与服务端断开数据依然会有。

所以当获取的数据量不大的时候可以用DataSet把数据存储到客户端,如果获取的数据量很大,最好用ExecuteReader这样不至于客户端的内存占用太大而至于性能不好。

转载于:https://www.cnblogs.com/sxw117886/p/5363692.html

C# 连接Oracle数据库以及一些简单的操作相关推荐

  1. jsp连接oracle数据库并实现简单登录功能,来自网络,部分修改。(亚信联创实习)

    共三个页面:login.jsp.loginconf.jsp.loginsucess.jsp 用户首先打开login.jsp输入用户名及密码,此时login.jsp会将输入的用户名及密码提交到login ...

  2. java 连接oracle数据库(最简单的使用)

    文章目录 准备工作 1. 新建maven 2. 添加jar包 3. 新建包以及类 4. 导入依赖 建立连接 query delete update insert 准备工作 1. 新建maven 这里g ...

  3. PL/SQL连接oracle数据库

    PL/SQL连接oracle数据库 1.简单介绍 在不安装oracle数据库的情况下使用pl/sql连接远程oracle数据库. 2.详细步骤: a)      安装PL/SQL.依据自己的操作系统安 ...

  4. python连接本机oracle数据库吗,用Python连接Oracle数据库容易吗?

    ello,大家好!本次介绍的内容是如何使用Python连接Oracle数据库!看起来很简单,但实际上就是这么简单.学习本节内容后,相信老铁们能用Python撸起你们那庞大的Oracle数据库了.Wel ...

  5. oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...

    C#连接Oracle数据库通过存储过程操作数据库 收藏 此文于2011-06-07被推荐到CSDN首页 此文于2011-06-08被推荐到CSDN首页 如何被推荐? 之前笔者一直用C#连接SQL Se ...

  6. idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...

    intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...

  7. vs窗体 oracle,VS2010连接oracle数据库的简单例子

    下面附有代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Da ...

  8. Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

    真的是太不容易了,以前的时候在window server 2003上面搭建了一套asp+oracle的接口系统,就费了好大的劲儿,其实那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨天到今 ...

  9. python cx_oracle_Python3安装cx_Oracle连接oracle数据库实操总结

    首先安装配置时,必须把握一个点,就是版本一致!包括:系统版本,python版本,oracle客户端的版本,cx_Oracle的版本,然后安装配置就容易了! 如果已经安装Python,查看你安装的Pyt ...

最新文章

  1. debian10新建文档_Debian 10(Buster)安装过程图文详解
  2. 【网络安全威胁】企业风险远不止勒索软件,盘点当今企业面临的四种安全威胁
  3. 【MySQL】日期函数:仿trunc、当年、当月、当天
  4. Swift之五个让Swift代码更加优雅的扩展
  5. [原创]Zenoss配置入门-邮件短信通知
  6. [转]一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
  7. linux suid 脚本,Linux使用suid vim.basic文件实现提权
  8. Commons Configuration之一简介
  9. 华为 U2000 网管系统 批量添加全网OLT设备TELNET账号
  10. 【HTTPServer】借助Python建立简易的HTTP服务
  11. 计算机如何永久删除文件无法找回,怎么找回永久删除文件 找回永久删除文件方法【详细步骤】...
  12. Summernote 上传图片至 SMMS 图床 Api
  13. 2:STM32CubeMX配置STM32F103C8T6驱动-SPI驱动
  14. Unity资源管理(四)-AssetBundle使用模式
  15. 很牛的几篇圈内爆料——影视圈
  16. Halcon算子大全
  17. 树莓派——安装OpenCV
  18. neovim初始化以及插件安装
  19. linux mtr命令安装,如果mtr没在你的机子上安装
  20. 电动口罩电路图和源代码程序破解

热门文章

  1. Android开发——Android系统启动以及APK安装、启动过程
  2. Tab标签页接口---使用Intent对象
  3. Hibernate 拦截器 Hibernate 监听器
  4. [导入]商业智能2.0?(BI 2.0 from Timo Elliott)
  5. postgres复制表结构
  6. MATLAB正太分布函数
  7. 在计算机中描述景物结构形状与外貌,在计算机中通过描述景物的结构、形状与外貌,然后将它绘制成图在屏幕上显示出来,此类图像称为_____。...
  8. 大数相加c语言思路,大数相加
  9. 台式计算机如何连接vif,关于计算机二级( VIF ) 县城有高手吗? 急寻
  10. mysql5.6 优点_MySQL5.6复制:GTID的优点和限制(第一部分)_MySQL