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();
}
}