C#操作oracle的各种坑

2020-01-15  本文已影响0人  Magna

最合适的方式,是使用:Oracle Data Access Components - .NET
下载地址:

using Oracle.ManagedDataAccess.Client;
using System.Data;

namespace OracleDBtest
{
    class Program
    {
        static void Main(string[] args)
        {
            string conn_str = "DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SID = orcl)));PERSIST SECURITY INFO=True;USER ID=test;PASSWORD=123;";
            string SQL_cmd = "select * from Products where id=:id and type=:product_type ";

            using (OracleConnection conn = new OracleConnection(conn_str))
            {
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }

                OracleCommand cmd = new OracleCommand(SQL_cmd, conn);
                //BindByName預設為false,SQL會依照順序代入參數
                //若設為true時,則依參數名稱代入參數
                cmd.BindByName = true;

                //加入參數
                cmd.Parameters.Clear();
                cmd.Parameters.Add("id", "10");
                cmd.Parameters.Add("product_type", "desktop");

                OracleDataAdapter DataAdapter = new OracleDataAdapter();
                DataAdapter.SelectCommand = cmd;

                DataSet ds = new DataSet();
                DataAdapter.Fill(ds);  

                //查詢到的資料都存在ds中了
            }
        }
    }
}

以上代码,需要在Project里加入对Oracle.ManagedDataAccess.dll的引用,否则using Oracle.ManagedDataAccess.Client无法使用。(在Oracle主页下载的程序安装目录里有。)

上一篇 下一篇

猜你喜欢

热点阅读