OleDbParameter Klasa

Definicja

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
OleDbParameter
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)

Dotyczy

Zobacz też