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