OleDbParameter Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje parametr na a OleDbCommand volitelně jeho mapování na DataSet sloupec. Tato třída se nemůže dědit.
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 ICloneable
interface IDbDataParameter
interface IDataParameter
[<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 IDataParameter
interface IDbDataParameter
interface ICloneable
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
Public NotInheritable Class OleDbParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
- Dědičnost
- 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 DataSet. V tomto příkladu se předpokládá, že DataSet objekty a a OleDbDataAdapter již byly vytvořeny 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
Zprostředkovatel dat OLE DB.NET Framework používá poziční parametry, které jsou označené otazníkem (?) místo pojmenovaných parametrů.
Při dotazování databáze Oracle pomocí Zprostředkovatel Microsoft OLE DB pro Oracle (MSDAORA) a zprostředkovatele dat OLE DB.NET Framework nemusí použití LIKE
klauzule k dotazování na hodnoty v polích s pevnou délkou vrátit všechny očekávané shody. Důvodem je to, že když Oracle porovná hodnoty polí s pevnou délkou LIKE
v klauzuli, odpovídá celé délce řetězce, včetně všech koncových mezer odsazení. Pokud například tabulka v databázi Oracle obsahuje pole s názvem "Pole1", které je definováno jako char(3)
, a zadáte hodnotu "a" do řádku této tabulky, následující kód nevrátí řá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 v případě porovnání polí s pevnou délkou LIKE
nebere jako shodu pro hodnotu parametru "a".
Chcete-li tento problém vyřešit, připojte k hodnotě parametru () zástupný znak procenta ("a%"
"%") nebo místo toho použijte porovnání SQL =
.
Konstruktory
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) |
Inicializuje novou instanci OleDbParameter třídy, která používá název parametru a datový typ. |
OleDbParameter(String, OleDbType, Int32) |
Inicializuje novou instanci OleDbParameter třídy, která používá název parametru, datový typ a délku. |
OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) |
Inicializuje novou instanci třídy, která používá název parametru, datový typ, délku, název zdrojového OleDbParameter sloupce, směr parametru, přesnost čísel 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, datový typ, délku, název zdrojového OleDbParameter sloupce, směr parametru, přesnost čísel a další vlastnosti. |
OleDbParameter(String, OleDbType, Int32, String) |
Inicializuje novou instanci OleDbParameter třídy, která používá název parametru, datový typ, délku a název zdrojového sloupce. |
Vlastnosti
DbType |
Získá nebo nastaví DbType parametr. |
Direction |
Získá nebo nastaví hodnotu, která označuje, zda parametr je pouze vstup, pouze výstup, obousměrný nebo uložená procedura return-value parametr. |
IsNullable |
Získá nebo nastaví hodnotu, která označ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 ve sloupci v bajtech. |
SourceColumn |
Získá nebo nastaví název zdrojového sloupce mapovaného na DataSet a použije se k načtení nebo vrácení Value. |
SourceColumnNullMapping |
Získá nebo nastaví hodnotu, která označuje, zda zdrojový sloupec je null. To umožňuje DbCommandBuilder správně generovat příkazy Update pro sloupce s možnou hodnotou null. |
SourceVersion |
Získá nebo nastaví DataRowVersion na použití při načtení Value. |
Value |
Získá nebo nastaví hodnotu parametru. |
Metody
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy používané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í hashovací funkce. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (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í
ICloneable.Clone() |
Popis tohoto člena najdete v tématu Clone(). |
IDbDataParameter.Precision |
Označuje přesnost číselných parametrů. (Zděděno od DbParameter) |
IDbDataParameter.Scale |
Popis tohoto člena najdete v tématu Scale. (Zděděno od DbParameter) |