zoukankan      html  css  js  c++  java
  • c# oracle 数据库连接以及参数化查询

    private  string OracleSearchDemo(string cadqueueId)
    {
        string address = null;
        using (OracleConnection cn = GetOraConnection())
        {
            string sqlGetAddress = "Select SvjDataAddress From Cadqueue Where CadqueueId = :CadqueueId";
            OracleCommand cmd = new OracleCommand(sqlGetAddress, cn);
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.Add(new OracleParameter("CadqueueId", cadqueueId));
            cn.Open();
    
            OracleDataReader dtr = cmd.ExecuteReader();
            if (dtr.Read())
            {
                address = dtr["SvjDataAddress"].ToString();
                // 修改数据
                // string sqlChangeStatus = "update cadqueue q  set q.status = :status  Where CadqueueId = :CadqueueId";
                // cmd.CommandText = sqlChangeStatus;
                // cmd.Parameters.Clear();
                // cmd.Parameters.Add("CadqueueId", cadqueueId);
                // cmd.ExecuteNonQuery();
            }
            dtr.Close();
            cn.Close();
        }
        return address;
    }
    
    private OracleConnection GetOracleConnection()
    {
        OracleConnection conn = new OracleConnection(); // connectString 最好通过 app.config 配置
        conn.ConnectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=***.***.***.***)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=***)));Persist Security Info=True;User ID=***;Password=***;" ;
        return conn;
    }

     注意:为了防止SQL 注入, 采用参数化查询 (原理: 执行计划重用, 不用重新执行语法解析))

     此外, oracle 数据库在参数化查询时,采用 ’‘:parameter’ , mysql 语句中使用 ‘‘’@parameter’ 

  • 相关阅读:
    linux下 C++ 读取mat文件 MATLAB extern cyphon scipy 未完待续
    mshadow笔记
    mem_fun 例子
    gedit embeded terminal 设置字体 颜色
    decltype typename
    gcc4.9.1新特性
    C++开发者都应该使用的10个C++11特性 转
    如何加快C++代码的编译速度 转 ccache
    cout关闭输出缓冲,调试用
    boost range zhuan
  • 原文地址:https://www.cnblogs.com/yaolin1228/p/8568346.html
Copyright © 2011-2022 走看看