OracleParameter 類別

定義

表示 OracleCommand 的參數,並選擇性地表示其對於 DataColumn 的對應。 此類別無法獲得繼承。

public ref class OracleParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public ref class OracleParameter sealed : System::Data::Common::DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.OracleClient.OracleParameter+OracleParameterConverter))]
public sealed class OracleParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.OracleClient.OracleParameter+OracleParameterConverter))]
public sealed class OracleParameter : System.Data.Common.DbParameter, ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OracleClient.OracleParameter+OracleParameterConverter))>]
type OracleParameter = class
    inherit MarshalByRefObject
    interface IDbDataParameter
    interface IDataParameter
    interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OracleClient.OracleParameter+OracleParameterConverter))>]
type OracleParameter = class
    inherit DbParameter
    interface ICloneable
    interface IDbDataParameter
    interface IDataParameter
Public NotInheritable Class OracleParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
Public NotInheritable Class OracleParameter
Inherits DbParameter
Implements ICloneable
繼承
OracleParameter
繼承
屬性
實作

範例

下列範例會透過 OracleParameterCollection 內的 OracleDataAdapter 建立多個 實例 OracleParameter 。 這些參數可用來從資料庫選取資料,並將資料 DataSet 放在 中。 此範例假設 DataSet 已使用適當的架構、命令和連接來建立 和 OracleDataAdapter

public void AddOracleParameters()
 {
 // ...
 // create dataSet and adapter
 // ...
   adapter.SelectCommand.Parameters.Add("pEName", OracleType.VarChar, 80).Value = "Smith";
   adapter.SelectCommand.Parameters.Add("pEmpNo", OracleType.Int32).Value = 7369;
   adapter.Fill(dataSet);
 }
Public Sub AddOracleParameters()
    ' ...
    ' create dataSet and adapter
    ' ...
adapter.SelectCommand.Parameters.Add("pEName", OracleType.VarChar, 80).Value = "Smith"
adapter.SelectCommand.Parameters.Add("pEmpNo", OracleType.Int32).Value = 7369
adapter.Fill(dataSet)
End Sub

備註

參數名稱不區分大小寫。

使用 Microsoft OLE DB Provider for Oracle (MSDAORA) 和 ODBC.NET Framework Data Provider 查詢 Oracle 資料庫時,使用 LIKE 子句查詢固定長度欄位中的值可能不會傳回所有預期的相符專案。 原因是當 Oracle 比對 子句中 LIKE 固定長度欄位的值時,它會比對字串的整個長度,包括任何填補尾端空格。 例如,如果 Oracle 資料庫中的資料表包含名為 「Field1」 的欄位,且 char(3) 您在該資料表的資料列中輸入值 「a」,則下列程式碼不會傳回資料列。

Dim queryString As String = "SELECT * FROM Table1 WHERE Field1 LIKE ?"  
Dim command As OleDbCommand = New OleDbCommand(queryString, connection)  
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a"  
Dim reader As OleDbDataReader = command.ExecuteReader()  
string queryString = "SELECT * FROM Table1 WHERE Field1 LIKE ?";  
OleDbCommand command = new OleDbCommand(queryString, connection);  
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a";  
OleDbDataReader reader = command.ExecuteReader();  

這是因為 Oracle 會將資料行值儲存為 「a」 (填補 「a」,並加上尾端空格,到固定欄位長度為 3) ,Oracle 在固定長度欄位比較時 LIKE ,不會視為符合 「a」 的參數值。

若要解決此問題,請將百分比 (「%」) 萬用字元附加至參數值 ("a%") ,或改用 SQL = 比較。

建構函式

OracleParameter()

初始化 OracleParameter 類別的新執行個體。

OracleParameter(String, Object)

初始化 OracleParameter 類別的新執行個體,該類別使用參數名稱和 OracleParameter 物件。

OracleParameter(String, OracleType)

初始化 OracleParameter 類別的新執行個體,該類別使用參數名稱和資料型別。

OracleParameter(String, OracleType, Int32)

初始化 OracleParameter 類別的新執行個體,該類別使用參數名稱、資料型別和長度。

OracleParameter(String, OracleType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

初始化 OracleParameter類別的新執行個體,它使用參數名稱、資料類型、長度、來源資料行名稱、參數方向、數值有效位數,以及其他屬性。

OracleParameter(String, OracleType, Int32, ParameterDirection, String, DataRowVersion, Boolean, Object)

初始化 OracleParameter 類別的新執行個體,該類別使用參數名稱、資料型別、大小、方向、來源資料行、來源版本和其他屬性。

OracleParameter(String, OracleType, Int32, String)

初始化 OracleParameter 類別的新執行個體,該類別使用參數名稱、資料型別、長度和來源資料行名稱。

屬性

DbType

取得或設定參數的 DbType

Direction

取得或設定值,以表示參數是僅限輸入、僅限輸出、雙向 (Bidirectional) 或預存程序 (Stored Procedure) 傳回值參數。

IsNullable

取得或設定值,這個值指出該參數是否接受 null 值。

Offset

取得或設定 Value 屬性的位移。

OracleType

取得或設定參數的 OracleType

ParameterName

取得或設定 OracleParameter 的名稱。

Precision
已淘汰.

取得或設定用來表示 Value 屬性的最大位數。

Scale
已淘汰.

取得或設定 Value 所解析的小數點位數。

Size

取得或設定資料行中資料的最大大小 (以位元組為單位)。

SourceColumn

取得或設定來源資料行的名稱,這個資料行對應至 DataSet,並用來載入或傳回 Value

SourceColumnNullMapping

取得或設定值,這個值表示來源資料行是否可為 Null。 這可讓 OracleCommandBuilder 正確產生可為 Null 的資料行的 Update 陳述式。

SourceVersion

取得或設定載入 DataRowVersion 時要使用的 Value

Value

取得或設定參數的值。

方法

CreateObjRef(Type)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLifetimeService()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個執行個體的存留期原則。

(繼承來源 MarshalByRefObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 物件的淺層複本。

(繼承來源 MarshalByRefObject)
ResetDbType()

重設與此 OracleParameter 相關聯的類型。

ResetOracleType()

重設與此 OracleParameter 相關聯的類型。

ToString()

取得包含 ParameterName 的字串。

明確介面實作

ICloneable.Clone()

如需這個成員的說明,請參閱 Clone()

IDbDataParameter.Precision

表示數值參數的整數位數。

(繼承來源 DbParameter)
IDbDataParameter.Scale

如需這個成員的說明,請參閱 Scale

(繼承來源 DbParameter)

適用於