다음을 통해 공유


OracleCommand.Parameters 속성

정의

OracleParameterCollection를 가져옵니다.

public:
 property System::Data::OracleClient::OracleParameterCollection ^ Parameters { System::Data::OracleClient::OracleParameterCollection ^ get(); };
public System.Data.OracleClient.OracleParameterCollection Parameters { get; }
member this.Parameters : System.Data.OracleClient.OracleParameterCollection
Public ReadOnly Property Parameters As OracleParameterCollection

속성 값

SQL 문 또는 저장 프로시저의 매개 변수 기본값은 빈 컬렉션입니다.

예제

다음 예제에서는 를 OracleCommand 만들고 해당 매개 변수를 표시합니다. 이를 위해 메서드는 , SQL SELECT 문인 쿼리 문자열 및 개체 배열 OracleParameter 을 전달OracleConnection합니다.

public void CreateOracleCommand(OracleConnection connection,
    string queryString, OracleParameter[] myParamArray)
{

    OracleCommand command = new OracleCommand(queryString, connection);
    command.CommandText =
        "SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal";

    for (int j = 0; j < myParamArray.Length; j++)
        command.Parameters.Add(myParamArray[j]);

    string message = "";

    for (int i = 0; i < command.Parameters.Count; i++)
        message += command.Parameters[i].ToString() + "\n";

    Console.WriteLine(message);

    using (OracleDataReader row = command.ExecuteReader())
    {
        while(row.Read())
        {
            Console.WriteLine(row.GetValue(0));
        }
    }
}
Public Sub CreateOracleCommand(ByVal connection As OracleConnection, _
ByVal queryString As String, ByVal prmArray() As OracleParameter)

    Dim command As New OracleCommand(queryString, connection)
    command.CommandText = _
        "SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal"

    Dim j As Integer
    For j = 0 To prmArray.Length - 1
        command.Parameters.Add(prmArray(j))
    Next j

    Dim message As String = ""
    Dim i As Integer
    For i = 0 To command.Parameters.Count - 1
        message += command.Parameters(i).ToString() + ControlChars.Cr
    Next i

    Console.WriteLine(message)

    Dim reader As OracleDataReader = command.ExecuteReader
    While reader.Read
        Console.WriteLine(reader.GetValue(0))
    End While

End Sub

설명

경우는 CommandType 속성으로 설정 StoredProcedure된 , CommandText 속성 저장 프로시저의 이름으로 설정 해야 합니다. 저장 프로시저 이름에 특수 문자가 포함된 경우 사용자는 이스케이프 문자 구문을 사용해야 할 수 있습니다. 이 경우 Execute 메서드 중 하나를 호출하면 이 저장 프로시저가 실행됩니다.

SQL 문에 매개 변수를 전달 하 여 호출에 대 한.NET Framework Data Provider for Oracle 물음표 (?) 자리 표시자를 지원 하지 않습니다는 OracleCommandCommandType.Text합니다. 이 경우 명명 된 매개 변수를 사용 합니다. 예를 들면 다음과 같습니다.

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

호출 하 여 때 명명 된 SQL 문에서 매개 변수를 사용 하 여는 OracleCommandCommandType.Text, 콜론 (:)를 사용 하 여 매개 변수 이름 앞에 야 합니다. 그러나 저장된 프로시저 또는 코드에서 다른 곳에서 명명된 된 매개 변수를 참조할 때 (추가 하는 경우에 예를 들어 OracleParameter 개체는 Parameters 속성), 콜론 (:)를 사용 하 여 명명 된 매개 변수를 붙이지 마십시오. oracle용 .NET Framework 데이터 공급자는 콜론을 자동으로 제공합니다.

적용 대상

추가 정보