OleDbParameter Osztály

Definíció

Egy paramétert jelöl egy OleDbCommand oszlophoz, és opcionálisan egy DataSet oszlophoz való leképezését. Ez az osztály nem örökölhető.

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.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 DbParameter
Implements ICloneable
Public NotInheritable Class OleDbParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
Öröklődés
OleDbParameter
Öröklődés
Öröklődés
OleDbParameter
Attribútumok
Megvalósítás

Példák

Az alábbi példa több példányt OleDbParameter hoz létre a OleDbParameterCollection gyűjteményen belül OleDbDataAdapter. Ezek a paraméterek az adatforrásból származó adatok kiválasztására és az adatok elhelyezésére szolgálnak az DataSetadatforrásban. Ez a példa feltételezi, hogy egy DataSet és egy OleDbDataAdapter már létrejött a megfelelő sémával, parancsokkal és kapcsolattal.

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

Megjegyzések

Az OLE DB.NET Framework Data Provider a névvel ellátott paraméterek helyett kérdőjellel (?) jelölt pozícióparamétereket használ.

Ha oracle-adatbázist kérdez le az Microsoft OLE DB Provider for Oracle (MSDAORA) és az OLE DB.NET Framework Data Provider használatával, a LIKE záradék használatával rögzített hosszúságú mezők értékeinek lekérdezése nem feltétlenül adja vissza az összes várt egyezést. Ennek az az oka, hogy amikor az Oracle egy záradék rögzített hosszúságú mezőinek értékeit egyezik meg, akkor az a sztring LIKE teljes hosszával egyezik, beleértve a záró szóközöket is. Ha például egy Oracle-adatbázisban egy tábla egy "Field1" nevű mezőt tartalmaz, amely a következőképpen van definiálva char(3), és az "a" értéket adja meg a tábla egyik sorába, az alábbi kód nem adja vissza a sort.

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

Ennek az az oka, hogy az Oracle az oszlop értékét "a" értékként tárolja (a záró szóközökkel együtt a rögzített mezőhossz 3), amelyet az Oracle nem tekint egyezésként az "a" paraméterértékhez rögzített hosszúságú mezők összehasonlítása esetén LIKE .

A probléma megoldásához fűzjön hozzá egy százalék ("%") helyettesítő karaktert a paraméter értékéhez ("a%"), vagy használjon inkább SQL-összehasonlítást = .

Konstruktorok

Name Description
OleDbParameter()

Inicializálja a OleDbParameter osztály új példányát.

OleDbParameter(String, Object)

Inicializálja az OleDbParameter osztály új példányát, amely az új OleDbParameterparaméter nevét és értékét használja.

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

Inicializálja az OleDbParameter osztály új példányát, amely a paraméternevet, az adattípust, a hosszt, a forrásoszlop nevét, a paraméter irányát, a numerikus pontosságot és egyéb tulajdonságokat használja.

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

Inicializálja az OleDbParameter osztály új példányát, amely a paraméternevet, az adattípust, a hosszt, a forrásoszlop nevét, a paraméter irányát, a numerikus pontosságot és egyéb tulajdonságokat használja.

OleDbParameter(String, OleDbType, Int32, String)

Inicializálja az osztály új példányát, amely a OleDbParameter paraméter nevét, adattípusát, hosszát és forrásoszlopnevét használja.

OleDbParameter(String, OleDbType, Int32)

Inicializálja az OleDbParameter osztály új példányát, amely a paraméter nevét, adattípusát és hosszát használja.

OleDbParameter(String, OleDbType)

Inicializálja az OleDbParameter osztály új példányát, amely a paraméter nevét és adattípusát használja.

Tulajdonságok

Name Description
DbType

Lekéri vagy beállítja a DbType paramétert.

Direction

Lekéri vagy beállít egy értéket, amely jelzi, hogy a paraméter csak bemeneti, kimeneti, kétirányú vagy tárolt eljárás visszatérési érték paramétere-e.

IsNullable

Lekéri vagy beállít egy értéket, amely jelzi, hogy a paraméter elfogadja-e a null értékeket.

OleDbType

Lekéri vagy beállítja a OleDbType paramétert.

ParameterName

Lekéri vagy beállítja a OleDbParameternevét.

Precision

Lekéri vagy beállítja a tulajdonság megjelenítéséhez Value használt számjegyek maximális számát.

Scale

Lekéri vagy beállítja a feloldott tizedesjegyek Value számát.

Size

Lekéri vagy beállítja az oszlopban lévő adatok maximális méretét bájtban.

SourceColumn

Lekéri vagy beállítja annak a forrásoszlopnak a nevét, amely megfeleltethető a DataSet forrásoszlopnak, és a betöltéshez vagy a Valuevisszatéréshez használatos.

SourceColumnNullMapping

Lekéri vagy beállít egy értéket, amely jelzi, hogy a forrásoszlop null értékű-e. Ez lehetővé teszi DbCommandBuilder , hogy helyesen hozzon létre frissítési utasításokat a null értékű oszlopokhoz.

SourceVersion

Betöltéskor DataRowVersionlekéri vagy beállítja a Value használni kívánt elemet.

Value

Lekéri vagy beállítja a paraméter értékét.

Metódusok

Name Description
CreateObjRef(Type)

Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt.

(Öröklődés forrása MarshalByRefObject)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetLifetimeService()
Elavult.

Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot.

(Öröklődés forrása MarshalByRefObject)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
InitializeLifetimeService()
Elavult.

Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához.

(Öröklődés forrása MarshalByRefObject)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MemberwiseClone(Boolean)

Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre.

(Öröklődés forrása MarshalByRefObject)
ResetDbType()

Alaphelyzetbe állítja az ehhez a típushoz társított típust OleDbParameter.

ResetOleDbType()

Alaphelyzetbe állítja az ehhez a típushoz társított típust OleDbParameter.

ToString()

Lekéri a sztringet, amely tartalmazza a ParameterName.

Explicit interfész-implementációk

Name Description
ICloneable.Clone()

Ennek a tagnak a leírását lásd Clone(): .

IDbDataParameter.Precision

A numerikus paraméterek pontosságát jelzi.

(Öröklődés forrása DbParameter)
IDbDataParameter.Scale

Ennek a tagnak a leírását lásd Scale: .

(Öröklődés forrása DbParameter)

A következőre érvényes:

Lásd még