OleDbParameter Klasa

Definicja

Reprezentuje parametr i OleDbCommand opcjonalnie jego mapowanie na kolumnę DataSet . Klasa ta nie może być dziedziczona.

public ref class OleDbParameter sealed : System::Data::Common::DbParameter, ICloneable
public ref class OleDbParameter sealed : 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))]
public sealed class OleDbParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
    inherit DbParameter
    interface IDataParameter
    interface IDbDataParameter
    interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
    inherit DbParameter
    interface ICloneable
    interface IDbDataParameter
    interface IDataParameter
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))>]
type OleDbParameter = class
    inherit MarshalByRefObject
    interface IDbDataParameter
    interface IDataParameter
    interface ICloneable
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
Public NotInheritable Class OleDbParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
Dziedziczenie
OleDbParameter
Dziedziczenie
Dziedziczenie
OleDbParameter
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 elemecie DataSet. W tym przykładzie założono, ż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

Dostawca danych OLE DB.NET Framework używa parametrów pozycyjnych oznaczonych znakiem zapytania (?) zamiast nazwanych parametrów.

Podczas wykonywania zapytań względem bazy danych Oracle przy użyciu Microsoft OLE DB Provider dla Oracle (MSDAORA) i dostawcy danych OLE DB.NET Framework, użycie LIKE klauzuli do wykonywania zapytań o wartości w polach o stałej długości może nie zwracać wszystkich oczekiwanych dopasowań. Przyczyną jest to, że gdy oracle pasuje do wartości pól o stałej LIKE długości w klauzuli, pasuje do całej długości ciągu, w tym wszelkich 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 wprowadź 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 wartość procentową ("%") symbol wieloznaczny do wartości parametru ("a%") lub zamiast tego użyj porównania SQL = .

Konstruktory

OleDbParameter()

Inicjuje nowe wystąpienie klasy OleDbParameter.

OleDbParameter(String, Object)

Inicjuje OleDbParameter nowe wystąpienie klasy, które używa nazwy parametru i wartości nowego OleDbParameter.

OleDbParameter(String, OleDbType)

Inicjuje nowe wystąpienie klasy, które używa nazwy parametru OleDbParameter i typu danych.

OleDbParameter(String, OleDbType, Int32)

Inicjuje nowe wystąpienie klasy, które używa nazwy parametru OleDbParameter , typu danych i długości.

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.

Właściwości

DbType

Pobiera lub ustawia DbType parametr .

Direction

Pobiera lub ustawia wartość, która wskazuje, 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ę elementu OleDbParameter.

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 Valuewartości .

SourceColumnNullMapping

Pobiera lub ustawia wartość wskazującą, czy kolumna źródłowa ma wartość null. DbCommandBuilder Umożliwia to poprawne generowanie instrukcji Update dla kolumn dopuszczanych do wartości null.

SourceVersion

Pobiera lub ustawia wartość DataRowVersion do użycia podczas ładowania Value.

Value

Pobiera lub ustawia wartość parametru.

Metody

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()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(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 ParameterNameelement .

Jawne implementacje interfejsu

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ż