OleDbParameter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje parametr elementu OleDbCommand i opcjonalnie jego mapowanie na kolumnę DataSet . Klasa ta nie może być dziedziczona.
public ref class OleDbParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public ref class OleDbParameter sealed : System::Data::Common::DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))]
public sealed class OleDbParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))]
public sealed class OleDbParameter : System.Data.Common.DbParameter, ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))>]
type OleDbParameter = class
inherit MarshalByRefObject
interface IDbDataParameter
interface IDataParameter
interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
inherit DbParameter
interface ICloneable
interface IDbDataParameter
interface IDataParameter
Public NotInheritable Class OleDbParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
- Dziedziczenie
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
Poniższy przykład tworzy wiele wystąpień OleDbParameter za pośrednictwem OleDbParameterCollection kolekcji w obiekcie OleDbDataAdapter. Te parametry służą do wybierania danych ze źródła danych i umieszczania danych w obiekcie DataSet. W tym przykładzie przyjęto założenie, że obiekt DataSet i OleDbDataAdapter został już utworzony przy użyciu odpowiedniego schematu, poleceń i połączenia.
public DataSet GetDataSetFromAdapter(
DataSet dataSet, string connectionString, string queryString)
{
using (OleDbConnection connection =
new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter =
new OleDbDataAdapter(queryString, connection);
// Set the parameters.
adapter.SelectCommand.Parameters.Add(
"@CategoryName", OleDbType.VarChar, 80).Value = "toasters";
adapter.SelectCommand.Parameters.Add(
"@SerialNum", OleDbType.Integer).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 OleDbConnection(connectionString)
Dim adapter As New OleDbDataAdapter(queryString, connection)
' Set the parameters.
adapter.SelectCommand.Parameters.Add( _
"@CategoryName", OleDbType.VarChar, 80).Value = "toasters"
adapter.SelectCommand.Parameters.Add( _
"@SerialNum", OleDbType.Integer).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
Uwagi
Struktura OLE DB.NET Dostawca danych używa parametrów pozycyjnych oznaczonych znakiem zapytania (?) zamiast nazwanych parametrów.
Podczas wykonywania zapytań względem bazy danych Oracle przy użyciu dostawcy Microsoft OLE DB dla bazy danych Oracle (MSDAORA) i ole DB.NET Framework Dostawca danych, używając klauzuli LIKE do wykonywania zapytań o wartości w polach o stałej długości, mogą nie zwracać wszystkich oczekiwanych dopasowań. Przyczyną jest to, że gdy Oracle pasuje do wartości pól o stałej długości w LIKE klauzuli, pasuje do całej długości ciągu, w tym wszystkich spacji końcowych. Jeśli na przykład tabela w bazie danych Oracle zawiera pole o nazwie "Field1", które jest zdefiniowane jako char(3), i należy wprowadzić wartość "a" w wierszu tej tabeli, poniższy kod nie zwraca wiersza.
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();
Dzieje się tak, ponieważ oracle przechowuje wartość kolumny jako "a" (dopełnianie "a", z spacjami końcowymi, do stałej długości pola 3), które Oracle nie traktuje jako dopasowania wartości parametru "a" w przypadku LIKE porównania pól o stałej długości.
Aby rozwiązać ten problem, dołącz znak wieloznaczny ("%") do wartości parametru ("a%") lub użyj porównania SQL = .
Konstruktory
| Nazwa | Opis |
|---|---|
| OleDbParameter() |
Inicjuje nowe wystąpienie klasy OleDbParameter. |
| OleDbParameter(String, Object) |
Inicjuje nowe wystąpienie OleDbParameter klasy, która używa nazwy parametru i wartości nowego OleDbParameter. |
| OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) |
Inicjuje nowe wystąpienie klasy, które używa nazwy parametru OleDbParameter , typu danych, długości, nazwy kolumny źródłowej, kierunku parametru, dokładności liczbowej i innych właściwości. |
| OleDbParameter(String, OleDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object) |
Inicjuje nowe wystąpienie klasy, które używa nazwy parametru OleDbParameter , typu danych, długości, nazwy kolumny źródłowej, kierunku parametru, dokładności liczbowej i innych właściwości. |
| OleDbParameter(String, OleDbType, Int32, String) |
Inicjuje nowe wystąpienie klasy, które używa nazwy parametru OleDbParameter , typu danych, długości i nazwy kolumny źródłowej. |
| OleDbParameter(String, OleDbType, Int32) |
Inicjuje OleDbParameter nowe wystąpienie klasy, które używa nazwy parametru, typu danych i długości. |
| OleDbParameter(String, OleDbType) |
Inicjuje nowe wystąpienie klasy używającej nazwy parametru OleDbParameter i typu danych. |
Właściwości
| Nazwa | Opis |
|---|---|
| DbType |
Pobiera lub ustawia DbType parametr . |
| Direction |
Pobiera lub ustawia wartość wskazującą, czy parametr jest parametrem tylko wejściowym, wyjściowym, dwukierunkowym lub parametrem zwracanej wartości procedury składowanej. |
| IsNullable |
Pobiera lub ustawia wartość wskazującą, czy parametr akceptuje wartości null. |
| OleDbType |
Pobiera lub ustawia OleDbType parametr . |
| ParameterName |
Pobiera lub ustawia nazwę OleDbParameterelementu . |
| Precision |
Pobiera lub ustawia maksymalną liczbę cyfr używanych do reprezentowania Value właściwości. |
| Scale |
Pobiera lub ustawia liczbę miejsc dziesiętnych, do których Value jest rozpoznawana. |
| Size |
Pobiera lub ustawia maksymalny rozmiar danych w bajtach w kolumnie. |
| SourceColumn |
Pobiera lub ustawia nazwę kolumny źródłowej zamapowanej na DataSet element i używany do ładowania lub zwracania elementu Value. |
| SourceColumnNullMapping |
Pobiera lub ustawia wartość wskazującą, czy kolumna źródłowa ma wartość null. Dzięki temu można DbCommandBuilder poprawnie wygenerować instrukcje aktualizacji dla kolumn dopuszczanych do wartości null. |
| SourceVersion |
Pobiera lub ustawia parametr DataRowVersion do użycia podczas ładowania Value. |
| Value |
Pobiera lub ustawia wartość parametru. |
Metody
| Nazwa | Opis |
|---|---|
| CreateObjRef(Type) |
Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym. (Odziedziczone po MarshalByRefObject) |
| Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
| GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
| GetLifetimeService() |
Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
| GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
| InitializeLifetimeService() |
Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
| MemberwiseClone(Boolean) |
Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu. (Odziedziczone po MarshalByRefObject) |
| ResetDbType() |
Resetuje typ skojarzony z tym OleDbParameterelementem . |
| ResetOleDbType() |
Resetuje typ skojarzony z tym OleDbParameterelementem . |
| ToString() |
Pobiera ciąg zawierający element ParameterName. |
Jawne implementacje interfejsu
| Nazwa | Opis |
|---|---|
| ICloneable.Clone() |
Aby uzyskać opis tego elementu członkowskiego, zobacz Clone(). |
| IDbDataParameter.Precision |
Wskazuje dokładność parametrów liczbowych. (Odziedziczone po DbParameter) |
| IDbDataParameter.Scale |
Aby uzyskać opis tego elementu członkowskiego, zobacz Scale. (Odziedziczone po DbParameter) |