OleDbParameter Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen Parameter zu einer OleDbCommand Spalte und optional deren Zuordnung zu einer DataSet Spalte dar. Diese Klasse kann nicht vererbt werden.
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
- Vererbung
- Vererbung
- Attribute
- Implementiert
Beispiele
Im folgenden Beispiel werden mehrere Instanzen der OleDbParameter Auflistung innerhalb der OleDbParameterCollectionOleDbDataAdapter. Diese Parameter werden verwendet, um Daten aus der Datenquelle auszuwählen und die Daten in der DataSet. In diesem Beispiel wird davon ausgegangen, dass eine und eine DataSetOleDbDataAdapter bereits mit dem entsprechenden Schema, den entsprechenden Befehlen und der Verbindung erstellt wurde.
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
Hinweise
Das OLE DB.NET Framework Datenanbieter verwendet Positionsparameter, die anstelle von benannten Parametern mit einem Fragezeichen (?) gekennzeichnet sind.
Wenn Sie eine Oracle-Datenbank mit dem Microsoft OLE DB-Anbieter für Oracle (MSDAORA) und dem OLE DB.NET Framework Datenanbieter abfragen, geben Die LIKE-Klausel zum Abfragen von Werten in Feldern mit fester Länge möglicherweise nicht alle erwarteten Übereinstimmungen zurück. Der Grund dafür ist, dass Oracle, wenn Oracle Werte für Felder mit fester Länge in einer LIKE Klausel abgleicht, die gesamte Länge der Zeichenfolge, einschließlich aller abstandsbezogenen Leerzeichen, entspricht. Wenn beispielsweise eine Tabelle in einer Oracle-Datenbank ein Feld mit dem Namen "Field1" enthält, das definiert char(3)ist, und Sie den Wert "a" in eine Zeile dieser Tabelle eingeben, gibt der folgende Code die Zeile nicht zurück.
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();
Dies liegt daran, dass Oracle den Spaltenwert als "a" (Abstand "a" mit nachgestellten Leerzeichen bis zur festen Feldlänge von 3 speichert), die Oracle nicht als Übereinstimmung für den Parameterwert von "a" im Falle eines LIKE Vergleichs von Feldern mit fester Länge behandelt.
Um dieses Problem zu beheben, fügen Sie an den Parameterwert ("a%"%) ein Prozentzeichen ("%") an, oder verwenden Sie stattdessen einen SQL-Vergleich = .
Konstruktoren
| Name | Beschreibung |
|---|---|
| OleDbParameter() |
Initialisiert eine neue Instanz der OleDbParameter-Klasse. |
| OleDbParameter(String, Object) |
Initialisiert eine neue Instanz der Klasse, die OleDbParameter den Parameternamen und den Wert des neuen OleDbParameterverwendet. |
| OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) |
Initialisiert eine neue Instanz der Klasse, die OleDbParameter den Parameternamen, den Datentyp, die Länge, den Namen der Quellspalte, die Parameterrichtung, die numerische Genauigkeit und andere Eigenschaften verwendet. |
| OleDbParameter(String, OleDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object) |
Initialisiert eine neue Instanz der Klasse, die OleDbParameter den Parameternamen, den Datentyp, die Länge, den Namen der Quellspalte, die Parameterrichtung, die numerische Genauigkeit und andere Eigenschaften verwendet. |
| OleDbParameter(String, OleDbType, Int32, String) |
Initialisiert eine neue Instanz der Klasse, die OleDbParameter den Parameternamen, den Datentyp, die Länge und den Quellspaltennamen verwendet. |
| OleDbParameter(String, OleDbType, Int32) |
Initialisiert eine neue Instanz der Klasse, die OleDbParameter den Parameternamen, datentyp und die Länge verwendet. |
| OleDbParameter(String, OleDbType) |
Initialisiert eine neue Instanz der Klasse, die OleDbParameter den Parameternamen und datentyp verwendet. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| DbType |
Dient zum DbType Abrufen oder Festlegen des Parameters. |
| Direction |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Parameter eingabegeschützt, ausgabegeschützt, bidirektional oder ein gespeicherter Prozedur-Rückgabewertparameter ist. |
| IsNullable |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Parameter Nullwerte akzeptiert. |
| OleDbType |
Dient zum OleDbType Abrufen oder Festlegen des Parameters. |
| ParameterName |
Dient zum Abrufen oder Festlegen des Namens der OleDbParameter. |
| Precision |
Ruft die maximale Anzahl von Ziffern ab, die zum Darstellen der Value Eigenschaft verwendet werden, oder legt diese fest. |
| Scale |
Ruft die Anzahl der Dezimalstellen ab, auf die aufgelöst wird, Value oder legt diese fest. |
| Size |
Ruft die maximale Größe der Daten innerhalb der Spalte in Bytes ab oder legt sie fest. |
| SourceColumn |
Dient zum Abrufen oder Festlegen des Namens der Quellspalte, die dem DataSet Laden oder Zurückgeben der ValueQuellspalte zugeordnet und verwendet wird. |
| SourceColumnNullMapping |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Quellspalte nullwertebar ist. Dadurch können DbCommandBuilder Aktualisierungsanweisungen für nullwerte Spalten ordnungsgemäß generiert werden. |
| SourceVersion |
Dient zum Abrufen oder Festlegen der DataRowVersion zu verwendenden Eigenschaft, wenn Sie geladen Valuewerden. |
| Value |
Dient zum Abrufen oder Festlegen des Werts des Parameters. |
Methoden
| Name | Beschreibung |
|---|---|
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetLifetimeService() |
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| InitializeLifetimeService() |
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts. (Geerbt von MarshalByRefObject) |
| ResetDbType() |
Setzt den diesem OleDbParameterZugeordneten Typ zurück. |
| ResetOleDbType() |
Setzt den diesem OleDbParameterZugeordneten Typ zurück. |
| ToString() |
Ruft eine Zeichenfolge ab, die die ParameterName. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| ICloneable.Clone() |
Eine Beschreibung dieses Mitglieds finden Sie unter Clone(). |
| IDbDataParameter.Precision |
Gibt die Genauigkeit numerischer Parameter an. (Geerbt von DbParameter) |
| IDbDataParameter.Scale |
Eine Beschreibung dieses Mitglieds finden Sie unter Scale. (Geerbt von DbParameter) |