OleDbParameter Klas

Definitie

Vertegenwoordigt een parameter voor een OleDbCommand en eventueel de toewijzing ervan aan een DataSet kolom. Deze klasse kan niet worden overgenomen.

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
Overname
OleDbParameter
Overname
Kenmerken
Implementeringen

Voorbeelden

In het volgende voorbeeld worden meerdere exemplaren gemaakt van OleDbParameter via de OleDbParameterCollection verzameling in de OleDbDataAdapter. Deze parameters worden gebruikt voor het selecteren van gegevens uit de gegevensbron en het plaatsen van de gegevens in de DataSet. In dit voorbeeld wordt ervan uitgegaan dat een DataSet en een OleDbDataAdapter al zijn gemaakt met behulp van het juiste schema, opdrachten en verbinding.

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

Opmerkingen

Het OLE DB.NET Framework Data Provider gebruikt positionele parameters die zijn gemarkeerd met een vraagteken (?) in plaats van benoemde parameters.

Bij het uitvoeren van query's op een Oracle-database met behulp van de Microsoft OLE DB-provider voor Oracle (MSDAORA) en het OLE DB.NET Framework Data Provider met behulp van de component LIKE om querywaarden in velden met vaste lengte op te vragen, worden mogelijk niet alle verwachte overeenkomsten geretourneerd. De reden hiervoor is dat wanneer Oracle waarden voor velden met vaste lengte in een LIKE component overeenkomt met de volledige lengte van de tekenreeks, inclusief opvullingsspaties. Als een tabel in een Oracle-database bijvoorbeeld een veld met de naam Veld1 bevat dat is gedefinieerd als char(3), en u de waarde 'a' invoert in een rij van die tabel, retourneert de volgende code de rij niet.

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();

Dit komt doordat Oracle de kolomwaarde opslaat als 'a' (opvulling 'a', met volgspaties, tot de vaste veldlengte van 3), die Oracle niet als een overeenkomst behandelt voor de parameterwaarde 'a' in het geval van een vergelijking van velden met een LIKE vaste lengte.

U kunt dit probleem oplossen door een percentage ("%") jokerteken toe te voegen aan de parameterwaarde ("a%") of een SQL-vergelijking = te gebruiken.

Constructors

Name Description
OleDbParameter()

Initialiseert een nieuw exemplaar van de OleDbParameter klasse.

OleDbParameter(String, Object)

Initialiseert een nieuw exemplaar van de OleDbParameter klasse die gebruikmaakt van de parameternaam en de waarde van de nieuwe OleDbParameter.

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

Initialiseert een nieuw exemplaar van de OleDbParameter klasse die gebruikmaakt van de parameternaam, het gegevenstype, de lengte, de naam van de bronkolom, de parameterrichting, de numerieke precisie en andere eigenschappen.

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object)

Initialiseert een nieuw exemplaar van de OleDbParameter klasse die gebruikmaakt van de parameternaam, het gegevenstype, de lengte, de naam van de bronkolom, de parameterrichting, de numerieke precisie en andere eigenschappen.

OleDbParameter(String, OleDbType, Int32, String)

Initialiseert een nieuw exemplaar van de klasse die gebruikmaakt van de parameternaam, het gegevenstype, de OleDbParameter lengte en de naam van de bronkolom.

OleDbParameter(String, OleDbType, Int32)

Initialiseert een nieuw exemplaar van de OleDbParameter klasse die gebruikmaakt van de parameternaam, het gegevenstype en de lengte.

OleDbParameter(String, OleDbType)

Initialiseert een nieuw exemplaar van de OleDbParameter klasse die gebruikmaakt van de parameternaam en het gegevenstype.

Eigenschappen

Name Description
DbType

Hiermee haalt u de DbType parameter op of stelt u deze in.

Direction

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de parameter alleen-invoer, alleen-uitvoer, bidirectioneel of een opgeslagen procedure retourwaardeparameter is.

IsNullable

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de parameter null-waarden accepteert.

OleDbType

Hiermee haalt u de OleDbType parameter op of stelt u deze in.

ParameterName

Hiermee haalt u de naam van de OleDbParameter.

Precision

Hiermee haalt u het maximum aantal cijfers op dat wordt gebruikt om de Value eigenschap weer te geven.

Scale

Hiermee haalt u het aantal decimalen op of stelt u dit in.Value

Size

Hiermee wordt de maximale grootte, in bytes, van de gegevens in de kolom opgehaald of ingesteld.

SourceColumn

Hiermee haalt u de naam op van de bronkolom die is toegewezen aan de DataSet en wordt gebruikt voor het laden of retourneren van de Valuekolom.

SourceColumnNullMapping

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de bronkolom nullable is. Hierdoor kunnen DbCommandBuilder update-instructies correct worden gegenereerd voor null-kolommen.

SourceVersion

Hiermee haalt u het te gebruiken op of stelt u deze DataRowVersion in wanneer u laadt Value.

Value

Hiermee haalt u de waarde van de parameter op of stelt u deze in.

Methoden

Name Description
CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetLifetimeService()

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
InitializeLifetimeService()

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
ResetDbType()

Hiermee stelt u het type opnieuw in dat aan dit OleDbParametertype is gekoppeld.

ResetOleDbType()

Hiermee stelt u het type opnieuw in dat aan dit OleDbParametertype is gekoppeld.

ToString()

Hiermee haalt u een tekenreeks op die de ParameterName.

Expliciete interface-implementaties

Name Description
ICloneable.Clone()

Zie voor een beschrijving van dit lid Clone().

IDbDataParameter.Precision

Geeft de precisie van numerieke parameters aan.

(Overgenomen van DbParameter)
IDbDataParameter.Scale

Zie voor een beschrijving van dit lid Scale.

(Overgenomen van DbParameter)

Van toepassing op

Zie ook