OleDbParameter Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
- Öröklődés
- Öröklődés
- 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) |