OdbcParameter 類別

定義

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

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

範例

下列範例會在內透過 OdbcParameterCollection 建立多個OdbcDataAdapter的實例OdbcParameter。 這些參數可用來從數據源中選取數據,並將數據 DataSet放在 中。 這個範例假設 DataSet 已使用適當的架構、命令和連線來建立 和 OdbcDataAdapter

public DataSet GetDataSetFromAdapter(
    DataSet dataSet, string connectionString, string queryString)
{
    using (OdbcConnection connection =
        new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adapter =
            new OdbcDataAdapter(queryString, connection);

        // Set the parameters.
        adapter.SelectCommand.Parameters.Add(
            "@CategoryName", OdbcType.VarChar, 80).Value = "toasters";
        adapter.SelectCommand.Parameters.Add(
            "@SerialNum", OdbcType.Int).Value = 239;

        // Open the connection and fill the DataSet.
        try
        {
            connection.Open();
            adapter.Fill(dataSet);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
    return dataSet;
}
Public Function GetDataSetFromAdapter( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter(queryString, connection)

        ' Set the parameters.
        adapter.SelectCommand.Parameters.Add( _
            "@CategoryName", OdbcType.VarChar, 80).Value = "toasters"
        adapter.SelectCommand.Parameters.Add( _
         "@SerialNum", OdbcType.Int).Value = 239

        ' Open the connection and fill the DataSet.
        Try
            connection.Open()
            adapter.Fill(dataSet)
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using

    Return dataSet
End Function

備註

參數名稱不區分大小寫。

使用 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 = 比較。

建構函式

OdbcParameter()

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

OdbcParameter(String, Object)

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

OdbcParameter(String, OdbcType)

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

OdbcParameter(String, OdbcType, Int32)

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

OdbcParameter(String, OdbcType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

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

OdbcParameter(String, OdbcType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object)

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

OdbcParameter(String, OdbcType, Int32, String)

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

屬性

DbType

取得或設定參數的 DbType

Direction

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

IsNullable

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

OdbcType

取得或設定參數的 OdbcType

Offset

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

ParameterName

取得或設定 OdbcParameter 的名稱。

Precision

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

Scale

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

Size

取得或設定資料行中資料的最大大小。

SourceColumn

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

SourceColumnNullMapping

取得或設定值,這個值表示來源資料行是否可為 Null。 這可以讓 DbCommandBuilder 為可為 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()

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

ResetOdbcType()

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

ToString()

取得包含 ParameterName 的字串。

明確介面實作

ICloneable.Clone()

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

IDbDataParameter.Precision

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

(繼承來源 DbParameter)
IDbDataParameter.Scale

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

(繼承來源 DbParameter)

適用於

另請參閱