• C# 连接Oracle数据库以及一些简单的操作


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

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

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

  • 相关阅读:
    获取设备的UUID
    关于获取基站信息总结
    【转】获取CID 和 LAC的方法
    js(javascript)与ios(Objective-C)相互通信交互
    ios面试题
    iOS 知识-常用小技巧大杂烩
    iOS时间格式的转换
    PresentViewController切换界面
    宏文件
    iOS使用NSMutableAttributedString 实现富文本(不同颜色字体、下划线等)
  • 原文地址:https://www.cnblogs.com/sxw117886/p/5363692.html
Copyright © 2020-2023  润新知