使用ADO.NET操作Oracle資料庫

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   color   os   使用   sp   

本文將樣本使用C#的ADO.NET技術調用Oralce的預存程序和函數及操作Oracle資料庫。

在oracle的hr資料庫中建立預存程序

在oralce的hr資料庫中建立函數

建立控制台項目,在主函數添加代碼:

 1            string strConn = "Data Source=jayjay;User ID=hr;Password=oracle;Unicode=True"; 2  3             //調用預存程序 4             using (OracleConnection conn = new OracleConnection(strConn)) 5             { 6                 conn.Open(); 7                 using (OracleCommand cmd = new OracleCommand("INSERT_PROCEDURE", conn)) 8                 { 9                     cmd.CommandType = CommandType.StoredProcedure;10                     cmd.ExecuteNonQuery();11                 }12             }13             //顯示調用預存程序後的資料14             using (OracleConnection conn = new OracleConnection(strConn))15             {16                 conn.Open();17                 using (OracleCommand cmd = new OracleCommand("select * from Jobs where JOB_ID=‘MY_JOB‘", conn))18                 {19                     cmd.CommandType = CommandType.Text;20                     OracleDataAdapter adapter = new OracleDataAdapter(cmd);21                     DataSet dataSet = new DataSet();22                     adapter.Fill(dataSet);//執行cmd.ExecuteReader();並將結果添加到DataSet容器中23                     DataRow row = dataSet.Tables[0].Rows[0];24                     Console.WriteLine("執行select * from Jobs where JOB_ID=MY_JOB之後得到的資訊:");25                     for(int i =0 ;i<4;i++)26                     {27                         Console.WriteLine(row[i]);28                     }29                 }30             }31 32             //調用函數33             using (OracleConnection conn = new OracleConnection(strConn))34             {35                 conn.Open();36                 using (OracleCommand cmd = new OracleCommand("UPDATE_MIN_SALARY", conn))37                 {38                     cmd.CommandType = CommandType.StoredProcedure;39                     40                     // 將參數類型設定為 傳回值類型41                     OracleParameter parameter = new OracleParameter();42                     parameter.Direction = ParameterDirection.ReturnValue;43                     parameter.OracleType = OracleType.Int32;44                     cmd.Parameters.Add(parameter);45 46                     cmd.ExecuteNonQuery();47                     Console.WriteLine("受影響的行數為:" + parameter.Value);48                 }49             }50 51             //顯示調用函數後的資料52             using (OracleConnection conn = new OracleConnection(strConn))53             {54                 conn.Open();55                 using (OracleCommand cmd = new OracleCommand("select * from Jobs where MIN_SALARY=4000", conn))56                 {57                     cmd.CommandType = CommandType.Text;58                     OracleDataAdapter adapter = new OracleDataAdapter(cmd);59                     DataSet dataSet = new DataSet();60                     adapter.Fill(dataSet);61 62                     Console.WriteLine("執行select * from Jobs where MIN_SALARY=4000之後得到的行數:" + dataSet.Tables[0].Rows.Count);                  63                 }64             }65 66             Console.ReadKey();67         }
ps:由於使用的是32位的老版本oracle 10g,所以項目的目標平台要改為x86,即32位平台,不然conn.open();會報錯!

使用ADO.NET操作Oracle資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.