OracleCommandクラス
OracleCommand
オブジェクトは、SQLコマンド、ストアド・プロシージャまたは表の名前を表します。OracleCommand
オブジェクトは、要求を作成してこれをデータベースに渡す処理を担当します。結果が戻される場合、OracleCommand
は、OracleDataReader
、.NET XmlReader
、.NET Stream
、スカラー値または出力パラメータとして結果を戻す処理を担当します。
クラスの継承
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbCommand
Oracle.DataAccess.Client.OracleCommand
宣言
// C# public sealed class OracleCommand : DbCommand, ICloneable
要件
プロバイダ | ODP.NET管理対象外ドライバ | ODP.NET管理対象ドライバ | ODP.NET Core |
---|---|---|---|
アセンブリ |
|
|
|
ネームスペース |
|
|
|
.NET Framework |
3.5, 4.5, 4.6, 4.7, 4.8 |
4.5, 4.6, 4.7, 4.8 |
4.6.1以降 |
.NET Core |
- |
- |
2.1以降 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
OracleCommand
からトランザクション関連文を実行しても、現行のローカル・トランザクション(存在する場合)を表すOracleTransaction
オブジェクトの状態に反映されないため、お薦めできません。
ExecuteXmlReader
、ExecuteStream
およびExecuteToStream
メソッドは、XML操作でのみサポートされています。
ExecuteReader
およびExecuteScalar
メソッドは、XML操作ではサポートされていません
オープン・サーバー・カーソルの数を最小限にするには、OracleCommand
オブジェクトを明示的に処理する必要があります。
例
// C# using System; using System.Data; using Oracle.DataAccess.Client; class OracleCommandSample { static void Main() { string constr = "User Id=scott;Password=tiger;Data Source=oracle"; OracleConnection con = new OracleConnection(constr); con.Open(); string cmdQuery = "select ename, empno from emp"; // Create the OracleCommand OracleCommand cmd = new OracleCommand(cmdQuery); cmd.Connection = con; cmd.CommandType = CommandType.Text; // Execute command, create OracleDataReader object OracleDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { // output Employee Name and Number Console.WriteLine("Employee Name : " + reader.GetString(0) + " , " + "Employee Number : " + reader.GetDecimal(1)); } // Clean up reader.Dispose(); cmd.Dispose(); con.Dispose(); } }