美文网首页
C#操作oracle的各种坑

C#操作oracle的各种坑

作者: Magna | 来源:发表于2020-01-15 14:19 被阅读0次

最合适的方式,是使用: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主页下载的程序安装目录里有。)

相关文章

网友评论

      本文标题:C#操作oracle的各种坑

      本文链接:https://www.haomeiwen.com/subject/dcdydctx.html