OracleParameter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示 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
- 繼承
- 繼承
- 屬性
- 實作
範例
下列範例會在內透過 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 | |
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) |