OleDbParameter Třída

Definice

Představuje parametr na OleDbCommand sloupec a volitelně jeho mapování na DataSet sloupec. Tato třída se nemůže dědit.

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
Dědičnost
OleDbParameter
Dědičnost
Atributy
Implementuje

Příklady

Následující příklad vytvoří více instancí OleDbParameter prostřednictvím OleDbParameterCollection kolekce v rámci .OleDbDataAdapter Tyto parametry slouží k výběru dat ze zdroje dat a umístění dat do objektu DataSet. V tomto příkladu se předpokládá, že již DataSetOleDbDataAdapter byla vytvořena pomocí příslušného schématu, příkazů a připojení.

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

Poznámky

Rozhraní OLE DB.NET Zprostředkovatel dat používá poziční parametry označené otazníkem (?) místo pojmenovaných parametrů.

Při dotazování databáze Oracle pomocí zprostředkovatele Microsoft OLE DB pro Oracle (MSDAORA) a rozhraní OLE DB.NET Framework Zprostředkovatel dat, použití klauzule LIKE k dotazování hodnot v polích s pevnou délkou nemusí vrátit všechny očekávané shody. Důvodem je, že když Oracle odpovídá hodnotám pro pole s pevnou délkou LIKE v klauzuli, odpovídá celé délce řetězce, včetně všech odsazení koncových mezer. Pokud například tabulka v databázi Oracle obsahuje pole s názvem "Field1", které je definováno jako char(3), a zadáte hodnotu "a" do řádku této tabulky, následující kód nevrací řádek.

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

Je to proto, že Oracle ukládá hodnotu sloupce jako "a" (odsazení "a" s koncovými mezerami na pevnou délku pole 3), kterou Oracle nechová jako shodu s hodnotou parametru "a" v případě LIKE porovnání polí s pevnou délkou.

Chcete-li tento problém vyřešit, připojte k hodnotě"a%" parametru zástupný znak ("%") nebo místo toho použijte porovnání SQL = .

Konstruktory

Name Description
OleDbParameter()

Inicializuje novou instanci OleDbParameter třídy.

OleDbParameter(String, Object)

Inicializuje novou instanci OleDbParameter třídy, která používá název parametru a hodnotu nové OleDbParameter.

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

Inicializuje novou instanci třídy, která používá název parametru OleDbParameter , datový typ, délku, název zdrojového sloupce, směr parametru, číselnou přesnost a další vlastnosti.

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

Inicializuje novou instanci třídy, která používá název parametru OleDbParameter , datový typ, délku, název zdrojového sloupce, směr parametru, číselnou přesnost a další vlastnosti.

OleDbParameter(String, OleDbType, Int32, String)

Inicializuje novou instanci třídy, která používá název parametru, datový typ, délku a název zdrojového OleDbParameter sloupce.

OleDbParameter(String, OleDbType, Int32)

Inicializuje novou instanci OleDbParameter třídy, která používá název parametru, datový typ a délku.

OleDbParameter(String, OleDbType)

Inicializuje novou instanci OleDbParameter třídy, která používá název parametru a datový typ.

Vlastnosti

Name Description
DbType

Získá nebo nastaví DbType parametr.

Direction

Získá nebo nastaví hodnotu, která určuje, zda je parametr pouze vstup, výstup-pouze, obousměrný nebo uložená procedura return-value parametr.

IsNullable

Získá nebo nastaví hodnotu, která určuje, zda parametr přijímá hodnoty null.

OleDbType

Získá nebo nastaví OleDbType parametr.

ParameterName

Získá nebo nastaví název OleDbParameter.

Precision

Získá nebo nastaví maximální počet číslic použitých k reprezentaci Value vlastnosti.

Scale

Získá nebo nastaví počet desetinných míst, na které Value se přeloží.

Size

Získá nebo nastaví maximální velikost dat v bajtech v rámci sloupce.

SourceColumn

Získá nebo nastaví název zdrojového sloupce mapovaného na DataSet a používá se k načtení nebo vrácení Value.

SourceColumnNullMapping

Získá nebo nastaví hodnotu, která označuje, zda zdrojový sloupec má hodnotu null. To umožňuje DbCommandBuilder správně generovat příkazy Update pro sloupce s možnou hodnotou null.

SourceVersion

Získá nebo nastaví DataRowVersion použití při načítání Value.

Value

Získá nebo nastaví hodnotu parametru.

Metody

Name Description
CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetLifetimeService()

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
ResetDbType()

Obnoví typ přidružený k tomuto OleDbParameter.

ResetOleDbType()

Obnoví typ přidružený k tomuto OleDbParameter.

ToString()

Získá řetězec, který obsahuje ParameterName.

Explicitní implementace rozhraní

Name Description
ICloneable.Clone()

Popis tohoto člena naleznete v tématu Clone().

IDbDataParameter.Precision

Určuje přesnost číselných parametrů.

(Zděděno od DbParameter)
IDbDataParameter.Scale

Popis tohoto člena naleznete v tématu Scale.

(Zděděno od DbParameter)

Platí pro

Viz také