次の方法で共有


OracleCommand クラス

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

データベースに対して実行する SQL ステートメントまたはストアド プロシージャを表します。このクラスは継承できません。

この型のすべてのメンバの一覧については、OracleCommand メンバ を参照してください。

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Data.OracleClient.OracleCommand

NotInheritable Public Class OracleCommand
   Inherits Component
   Implements ICloneable, IDbCommand
[C#]
public sealed class OracleCommand : Component, ICloneable,
   IDbCommand
[C++]
public __gc __sealed class OracleCommand : public Component,
   ICloneable, IDbCommand
[JScript]
public class OracleCommand extends Component implements ICloneable,
   IDbCommand

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

OracleCommand クラスには、データ ソースに対してコマンドを実行するための、次のメソッドがあります。

項目 説明
ExecuteReader 行を返すコマンドを実行します。
ExecuteOracleNonQuery Connection に対して SQL ステートメントを実行し、影響を受けた行数を返します。
ExecuteNonQuery SQL の INSERT、DELETE、UPDATE、SET ステートメントなどのコマンドを実行します。
ExecuteScalar データベースから単一の値 (集計値など) を .NET Framework のデータ型で取得します。
ExecuteOracleScalar データベースから単一の値 (集計値など) を Oracle 固有のデータ型で取得します。

CommandText プロパティをリセットして OracleCommand オブジェクトを再利用できます。

コマンドを実行した結果、致命的な OracleException が発生した場合、 OracleConnection が閉じられる可能性があります。ただし、ユーザーは接続を再び開いて、処理を継続できます。

メモ   .NET Framework データ プロバイダ (SQL Server、OLE DB、および ODBC) の他の Command オブジェクトとは異なり、 OracleCommandCommandTimeout プロパティをサポートしません。コマンドのタイムアウトは、設定しても無効で、返される値は常に 0 です。

使用例

[Visual Basic, C#, C++] OracleCommandExecuteReader メソッドを OracleDataReader および OracleConnection と共に使用して、テーブルから行を選択する例を次に示します。

 
Public Sub ReadMyData(myConnString As String)
    Dim mySelectQuery As String = "SELECT EmpNo, DeptNo FROM Emp"
    Dim myConnection As New OracleConnection(myConnString)
    Dim myCommand As New OracleCommand(mySelectQuery, myConnection)
    myConnection.Open()
    Dim myReader As OracleDataReader = myCommand.ExecuteReader()
    Try
        While myReader.Read()
            Console.WriteLine(myReader.GetInt32(0) & ", " _
               & myReader.GetInt32(1))
        End While
    Finally
        ' always call Close when done reading.
        myReader.Close()
        ' always call Close when done reading.
        myConnection.Close()
    End Try
End Sub

[C#] 
public void ReadMyData(string myConnString) 
{
   string mySelectQuery = "SELECT EmpNo, DeptNo FROM Emp";
   OracleConnection myConnection = new OracleConnection(myConnString);
   OracleCommand myCommand = new OracleCommand(mySelectQuery,myConnection);
   myConnection.Open();
   OracleDataReader myReader = myCommand.ExecuteReader();
   try 
   {
     while (myReader.Read()) 
    {
       Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetInt32(1));
    }
   }
      finally 
   {
    // always call Close when done reading.
    myReader.Close();
    // always call Close when done reading.
    myConnection.Close();
 }
}

[C++] 
public:
void ReadMyData(String* myConnString) 
{
   String* mySelectQuery = S"SELECT EmpNo, DeptNo FROM Emp";
   OracleConnection* myConnection = new OracleConnection(myConnString);
   OracleCommand* myCommand = new OracleCommand(mySelectQuery,myConnection);
   myConnection->Open();
   OracleDataReader* myReader = myCommand->ExecuteReader();
   try 
   {
     while (myReader->Read()) 
    {
       Console::WriteLine(S"{0}, {1}", __box(myReader->GetInt32(0)), __box(myReader->GetInt32(1)));
    }
   }
   __finally 
   {
    // always call Close when done reading.
    myReader->Close();
    // always call Close when done reading.
    myConnection->Close();
 }
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Data.OracleClient

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Data.Oracleclient (System.Data.Oracleclient.dll 内)

参照

OracleCommand メンバ | System.Data.OracleClient 名前空間 | OracleDataAdapter | OracleConnection