OleDbParameter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un parametro di un oggetto OleDbCommand e, facoltativamente, il relativo mapping a una colonna di DataSet. La classe non può essere ereditata.
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
- Ereditarietà
- Ereditarietà
- Attributi
- Implementazioni
Esempio
Nell'esempio seguente vengono create più istanze di tramite la OleDbParameterCollection raccolta all'interno di .OleDbParameterOleDbDataAdapter Questi parametri vengono usati per selezionare i dati dall'origine dati e inserire i dati in DataSet. In questo esempio si presuppone che un DataSet oggetto e sia OleDbDataAdapter già stato creato usando lo schema, i comandi e la connessione appropriati.
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 Data Provider usa parametri posizionali contrassegnati con un punto interrogativo (?) anziché parametri denominati.
Quando si esegue una query su un database Oracle usando la provider Microsoft OLE DB per Oracle (MSDAORA) e il provider di dati OLE DB.NET Framework, usando la LIKE
clausola per eseguire query sui valori nei campi a lunghezza fissa potrebbe non restituire tutte le corrispondenze previste. Il motivo è che quando Oracle corrisponde ai valori per i campi a lunghezza fissa in una LIKE
clausola, corrisponde all'intera lunghezza della stringa, inclusi gli spazi finali di riempimento. Ad esempio, se una tabella in un database Oracle contiene un campo denominato "Field1" definito come char(3)
e si immette il valore "a" in una riga di tale tabella, il codice seguente non restituisce la riga.
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();
Ciò avviene perché Oracle archivia il valore della colonna come "a" (riempimento "a", con spazi finali, alla lunghezza fissa del campo 3), che Oracle non considera una corrispondenza per il valore del parametro "a" nel caso di un LIKE
confronto tra campi a lunghezza fissa.
Per risolvere questo problema, aggiungere un carattere jolly percentuale ("%") al valore del parametro ("a%"
) o usare invece un confronto SQL =
.
Costruttori
OleDbParameter() |
Inizializza una nuova istanza della classe OleDbParameter. |
OleDbParameter(String, Object) |
Inizializza una nuova istanza della classe OleDbParameter che utilizza il nome del parametro e il valore della nuova classe OleDbParameter. |
OleDbParameter(String, OleDbType) |
Inizializza una nuova istanza della classe OleDbParameter che utilizza il nome del parametro e il tipo di dati. |
OleDbParameter(String, OleDbType, Int32) |
Inizializza una nuova istanza della classe OleDbParameter che utilizza il nome del parametro, il tipo di dati e la lunghezza. |
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à. |
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à. |
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. |
Proprietà
DbType |
Ottiene o imposta l'oggetto DbType del parametro. |
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. |
IsNullable |
Ottiene o imposta un valore che indica se il parametro ammette valori Null. |
OleDbType |
Ottiene o imposta l'oggetto OleDbType del parametro. |
ParameterName |
Ottiene o imposta il nome di OleDbParameter. |
Precision |
Ottiene o imposta il numero massimo di cifre utilizzate per rappresentare la proprietà Value. |
Scale |
Ottiene o imposta il numero di posizioni decimali in cui viene risolto Value. |
Size |
Ottiene o imposta le dimensioni massime in byte dei dati contenuti nella colonna. |
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. |
SourceColumnNullMapping |
Ottiene o imposta un valore che indica se la colonna di origine ammette valori Null. Questo consente a DbCommandBuilder di generare correttamente istruzioni Update per le colonne nullable. |
SourceVersion |
Ottiene o imposta l'enumerazione DataRowVersion da utilizzare per il caricamento della proprietà Value. |
Value |
Ottiene o imposta il valore del parametro. |
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. (Ereditato da MarshalByRefObject) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetLifetimeService() |
Obsoleti.
Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza. (Ereditato da MarshalByRefObject) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
InitializeLifetimeService() |
Obsoleti.
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
MemberwiseClone(Boolean) |
Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject) |
ResetDbType() |
Reimposta il tipo associato a OleDbParameter. |
ResetOleDbType() |
Reimposta il tipo associato a OleDbParameter. |
ToString() |
Ottiene una stringa che contiene ParameterName. |
Implementazioni dell'interfaccia esplicita
ICloneable.Clone() |
Per una descrizione di questo membro, vedere Clone(). |
IDbDataParameter.Precision |
Indica la precisione dei parametri numerici. (Ereditato da DbParameter) |
IDbDataParameter.Scale |
Per una descrizione di questo membro, vedere Scale. (Ereditato da DbParameter) |