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

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

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这样不至于客户端的内存占用太大而至于性能不好。

C# 连接Oracle数据库以及一些简单的操作的更多相关文章

  1. PL/SQL连接oracle数据库

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

  2. 简单的JDBC连接oracle数据库例子

    java连接Oracle数据库 JDBC(Java Data Base Connectivity,java数据库连接),那么我们该如何用java进行数据库的连接呢. import java.sql.C ...

  3. Java连接MySQL数据库和Oracle数据库并进行简单的SQL操作的一次尝试

    MySQL和Oracle的JDBC的maven dependency如下: <!-- mysql --> <dependency> <groupId>mysql&l ...

  4. php连接oracle数据库转载

    php连接oracle数据库及查询数据的方法 投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-12-29 这篇文章主要介绍了php连接oracle数据库及查询数据的方法 ...

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

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

  6. 使用C#连接ORACLE数据库

    一.使用OracleClient组件连接Oracle   .Net框架的System.Data.OracleClient.dll组件(ADO.Net组件),为连接和使用Oracle数据库提供了很大的方 ...

  7. PL/SQL Developer 连接Oracle数据库详细配置方法

    PL/SQL Developer 连接Oracle数据库详细配置方法 近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server).本文现对监听配置作一简单介绍,给出 ...

  8. 无需安装Oracle Client连接Oracle数据库

    介绍 当我们采用 ODP.NET 检索Oracle 数据库的时候,Oracle客户端是必须安装.假如当时电脑上没有安装Oracle客户端,就不能这么用了,这时候Oracle.ManagedDataAc ...

  9. 关于JDCB连接oracle数据库。

    1:什么是JDBC(百度可详细解释)               JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为 ...

随机推荐

  1. Java - 无乱码读写文件

    Java读取数据流的时候,一定要指定数据流的编码方式,否则将使用本地环境中的默认字符集. BufferedReader reader = null; String laststr = "&q ...

  2. pip源设置 & pandas安装

    pip的官方源python.pypi.org貌似被墙,换用国内安装源 网上的设置方法都是基于Unix的,Windows下的设置略麻烦. 更新..\Lib\site-packages\pip下的cmdo ...

  3. 「赛后补题」Meeting(HDU-5521)

    题意 A,B两个人分别在1和n区.每个区有若干点(区之间的点可以重复,各个区内点间的距离一致),给出区之间有联系的图以及到达所需时间.求两个人见面最短时间以及在哪个区碰面(可有多个) 分析 隐式图搜索 ...

  4. hdu1869六度分离(floyd)

    六度分离 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. Linux用户切换和密码修改

    1.普通用户切换到root su - 再输入root密码,密码正确,成功切换,再输入exit则切换回普通用户 2.root切换到其他用户,例user su - user 再输入exit,则切换回roo ...

  6. mysql bin log配置及查看

    mysql执行sql可以通过设置mysql bin 日志进行记录查看   mysql bin日志配置如下:   log_bin:on log_bin_basename:bin文件路径及名前缀(/var ...

  7. lintcode702 连接两个字符串中的不同字符

    连接两个字符串中的不同字符   给出两个字符串, 你需要修改第一个字符串,将所有与第二个字符串中相同的字符删除, 并且第二个字符串中不同的字符与第一个字符串的不同字符连接 思路:遍历两个字符串,找到互 ...

  8. 关于javascript的一个小问题,请问有人看出啥问题吗?

    最近学习javascript,有一个问题挺奇怪的,先贴出代码: function binarySearch(){ var arr = [0,1,2,3]; var res = actbinarySea ...

  9. Memcached命令-存储命令-查找命令-清理命令

    Memcached set 存储命令 Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中. 如果set的key已经存在,该命令可以更新该key所对应的原来的数 ...

  10. 腾讯云ubuntu安装使用MySQL

    安装步骤 ubuntu@VM---ubuntu:~$ sudo apt-get install mysql-server (密码: root/root) ubuntu@VM---ubuntu:~$ s ...