OleDbParameter Classe

Definizione

Rappresenta un parametro di un oggetto OleDbCommand ed eventualmente il relativo mapping a una colonna di DataSet.Represents a parameter to an OleDbCommand and optionally its mapping to a DataSet column. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class OleDbParameter sealed : System::Data::Common::DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter/OleDbParameterConverter))]
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))]
public sealed class OleDbParameter : System.Data.Common.DbParameter, ICloneable
type OleDbParameter = class
    inherit DbParameter
    interface ICloneable
    interface IDbDataParameter
    interface IDataParameter
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
Ereditarietà
OleDbParameter
Attributi
Implementazioni

Esempi

Nell'esempio seguente vengono create più istanze OleDbParameter di tramite OleDbParameterCollection la raccolta all' OleDbDataAdapterinterno di.The following example creates multiple instances of OleDbParameter through the OleDbParameterCollection collection within the OleDbDataAdapter. Questi parametri vengono utilizzati per selezionare i dati dall'origine dati e inserire i dati in DataSet.These parameters are used to select data from the data source and place the data in the DataSet. In questo esempio si presuppone DataSet che sia OleDbDataAdapter già stato creato un oggetto e un oggetto utilizzando lo schema, i comandi e la connessione appropriati.This example assumes that a DataSet and an OleDbDataAdapter have already been created by using the appropriate schema, commands, and connection.

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

Commenti

OLE DB.NET Framework provider di dati USA parametri posizionali contrassegnati con un punto interrogativo (?) invece di parametri denominati.The OLE DB.NET Framework Data Provider uses positional parameters that are marked with a question mark (?) instead of named parameters.

Quando si esegue una query su un database Oracle usando il provider Microsoft OLE DB per Oracle (MSDAORA) e il Framework OLE DB.NET provider di dati LIKE , l'uso della clausola per eseguire query sui valori nei campi a lunghezza fissa non può restituire tutte le corrispondenze previste.When querying an Oracle database using the Microsoft OLE DB Provider for Oracle (MSDAORA) and the OLE DB.NET Framework Data Provider, using the LIKE clause to query values in fixed-length fields may not return all expected matches. Il motivo è che quando Oracle corrisponde ai valori per i campi a lunghezza fissa LIKE in una clausola, trova la corrispondenza con l'intera lunghezza della stringa, inclusi gli spazi finali di spaziatura interna.The reason is that when Oracle matches values for fixed-length fields in a LIKE clause, it matches the entire length of the string, including any padding trailing spaces. Se, ad esempio, in una tabella di un database Oracle è contenuto un campo denominato "Field1" definito char(3)come e si immette il valore "a" in una riga della tabella, il codice seguente non restituisce la riga.For example, if a table in an Oracle database contains a field named "Field1" that is defined as char(3), and you enter the value "a" into a row of that table, the following code does not return the row.

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

Questo perché Oracle archivia il valore della colonna come "a" (spaziatura interna "a", con spazi finali, alla lunghezza del campo fisso 3), che Oracle non considera come una corrispondenza per il valore del parametro "a" nel caso di un LIKE confronto di campi a lunghezza fissa.This is because Oracle stores the column value as "a " (padding "a", with trailing spaces, to the fixed field length of 3), which Oracle does not treat as a match for the parameter value of "a" in the case of a LIKE comparison of fixed-length fields.

Per risolvere il problema, aggiungere un carattere jolly percentuale ("%") al valore del parametro ("a%") oppure utilizzare invece un confronto = SQL.To resolve this problem, append a percentage ("%") wildcard character to the parameter value ("a%"), or use an SQL = comparison instead.

Costruttori

OleDbParameter()

Inizializza una nuova istanza della classe OleDbParameter.Initializes a new instance of the OleDbParameter class.

OleDbParameter(String, Object)

Inizializza una nuova istanza della classe OleDbParameter che utilizza il nome del parametro e il valore della nuova classe OleDbParameter.Initializes a new instance of the OleDbParameter class that uses the parameter name and the value of the new OleDbParameter.

OleDbParameter(String, OleDbType)

Inizializza una nuova istanza della classe OleDbParameter che utilizza il nome del parametro e il tipo di dati.Initializes a new instance of the OleDbParameter class that uses the parameter name and data type.

OleDbParameter(String, OleDbType, Int32)

Inizializza una nuova istanza della classe OleDbParameter che utilizza il nome del parametro, il tipo di dati e la lunghezza.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, and length.

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

Inizializza una nuova istanza della classe OleDbParameter che usa il nome del parametro, il tipo di dati, la lunghezza, il nome della colonna di origine, la direzione del parametro, la precisione numerica e altre proprietà.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

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

Inizializza una nuova istanza della classe OleDbParameter che usa il nome del parametro, il tipo di dati, la lunghezza, il nome della colonna di origine, la direzione del parametro, la precisione numerica e altre proprietà.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

OleDbParameter(String, OleDbType, Int32, String)

Inizializza una nuova istanza della classe OleDbParameter che utilizza il nome del parametro, il tipo di dati, la lunghezza e il nome della colonna di origine.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, and source column name.

Proprietà

DbType

Ottiene o imposta l'oggetto DbType del parametro.Gets or sets the DbType of the parameter.

Direction

Ottiene o imposta un valore che indica se il parametro è solo di input, solo di output, bidirezionale o è un parametro di valore restituito da una stored procedure.Gets or sets a value that indicates whether the parameter is input-only, output-only, bidirectional, or a stored procedure return-value parameter.

IsNullable

Ottiene o imposta un valore che indica se il parametro ammette valori Null.Gets or sets a value that indicates whether the parameter accepts null values.

Offset
OleDbType

Ottiene o imposta l'oggetto OleDbType del parametro.Gets or sets the OleDbType of the parameter.

ParameterName

Ottiene o imposta il nome di OleDbParameter.Gets or sets the name of the OleDbParameter.

Precision

Ottiene o imposta il numero massimo di cifre utilizzate per rappresentare la proprietà Value.Gets or sets the maximum number of digits used to represent the Value property.

Scale

Ottiene o imposta il numero di posizioni decimali in cui viene risolto Value.Gets or sets the number of decimal places to which Value is resolved.

Size

Ottiene o imposta la dimensione massima, in byte, dei dati nella colonna.Gets or sets the maximum size, in bytes, of the data within the column.

SourceColumn

Ottiene o imposta il nome della colonna di origine mappata alla classe DataSet e utilizzata per il caricamento o la restituzione della proprietà Value.Gets or sets the name of the source column mapped to the DataSet and used for loading or returning the Value.

SourceColumnNullMapping

Ottiene o imposta un valore che indica se la colonna di origine è nullable.Sets or gets a value which indicates whether the source column is nullable. Questo consente a DbCommandBuilder di generare correttamente istruzioni Update per le colonne nullable.This allows DbCommandBuilder to correctly generate Update statements for nullable columns.

SourceVersion

Ottiene o imposta l'enumerazione DataRowVersion da utilizzare per il caricamento della proprietà Value.Gets or sets the DataRowVersion to use when you load Value.

Value

Ottiene o imposta il valore del parametro.Gets or sets the value of the parameter.

Metodi

CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Ereditato da MarshalByRefObject)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Ereditato da MarshalByRefObject)
ResetDbType()

Reimposta il tipo associato a OleDbParameter.Resets the type associated with this OleDbParameter.

ResetOleDbType()

Reimposta il tipo associato a OleDbParameter.Resets the type associated with this OleDbParameter.

ToString()

Ottiene una stringa che contiene ParameterName.Gets a string that contains the ParameterName.

Implementazioni dell'interfaccia esplicita

ICloneable.Clone()

Per una descrizione di questo membro, vedere Clone().For a description of this member, see Clone().

Si applica a

Vedi anche