OdbcParameter Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een parameter voor een OdbcCommand en optioneel, de toewijzing aan een DataColumn. Deze klasse kan niet worden overgenomen.
public ref class OdbcParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public ref class OdbcParameter sealed : System::Data::Common::DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameterConverter))]
public sealed class OdbcParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameter+OdbcParameterConverter))]
public sealed class OdbcParameter : System.Data.Common.DbParameter, ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameterConverter))>]
type OdbcParameter = class
inherit MarshalByRefObject
interface IDbDataParameter
interface IDataParameter
interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameter+OdbcParameterConverter))>]
type OdbcParameter = class
inherit DbParameter
interface ICloneable
interface IDbDataParameter
interface IDataParameter
Public NotInheritable Class OdbcParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
Public NotInheritable Class OdbcParameter
Inherits DbParameter
Implements ICloneable
- Overname
- Overname
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende voorbeeld worden meerdere exemplaren gemaakt van OdbcParameter via de OdbcParameterCollection .OdbcDataAdapter Deze parameters worden gebruikt voor het selecteren van gegevens uit de gegevensbron en het plaatsen van de gegevens in de DataSet. In dit voorbeeld wordt ervan uitgegaan dat een DataSet en een OdbcDataAdapter al zijn gemaakt met behulp van het juiste schema, opdrachten en verbinding.
public DataSet GetDataSetFromAdapter(
DataSet dataSet, string connectionString, string queryString)
{
using (OdbcConnection connection =
new OdbcConnection(connectionString))
{
OdbcDataAdapter adapter =
new OdbcDataAdapter(queryString, connection);
// Set the parameters.
adapter.SelectCommand.Parameters.Add(
"@CategoryName", OdbcType.VarChar, 80).Value = "toasters";
adapter.SelectCommand.Parameters.Add(
"@SerialNum", OdbcType.Int).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 OdbcConnection(connectionString)
Dim adapter As New OdbcDataAdapter(queryString, connection)
' Set the parameters.
adapter.SelectCommand.Parameters.Add( _
"@CategoryName", OdbcType.VarChar, 80).Value = "toasters"
adapter.SelectCommand.Parameters.Add( _
"@SerialNum", OdbcType.Int).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
Opmerkingen
Parameternamen zijn niet hoofdlettergevoelig.
Wanneer u een query uitvoert op een Oracle-database met behulp van de Microsoft OLE DB-provider voor Oracle (MSDAORA) en de ODBC-.NET Framework-Data Provider, worden mogelijk niet alle verwachte overeenkomsten geretourneerd met behulp van de component LIKE om waarden in velden met vaste lengte op te vragen. De reden hiervoor is dat wanneer Oracle waarden voor velden met vaste lengte in een LIKE component overeenkomt met de volledige lengte van de tekenreeks, inclusief opvullingsspaties. Als een tabel in een Oracle-database bijvoorbeeld een veld met de naam Veld1 bevat dat is gedefinieerd als char(3), en u de waarde 'a' invoert in een rij van die tabel, retourneert de volgende code de rij niet.
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();
Dit komt doordat Oracle de kolomwaarde opslaat als 'a' (opvulling 'a', met volgspaties, tot de vaste veldlengte van 3), die Oracle niet als een overeenkomst behandelt voor de parameterwaarde 'a' in het geval van een vergelijking van velden met een LIKE vaste lengte.
U kunt dit probleem oplossen door een percentage ("%") jokerteken toe te voegen aan de parameterwaarde ("a%") of een SQL-vergelijking = te gebruiken.
Constructors
| Name | Description |
|---|---|
| OdbcParameter() |
Initialiseert een nieuw exemplaar van de OdbcParameter klasse. |
| OdbcParameter(String, Object) |
Initialiseert een nieuw exemplaar van de OdbcParameter klasse die gebruikmaakt van de parameternaam en een OdbcParameter object. |
| OdbcParameter(String, OdbcType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) |
Initialiseert een nieuw exemplaar van de OdbcParameter klasse die gebruikmaakt van de parameternaam, het gegevenstype, de lengte, de naam van de bronkolom, de parameterrichting, de numerieke precisie en andere eigenschappen. |
| OdbcParameter(String, OdbcType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object) |
Initialiseert een nieuw exemplaar van de OdbcParameter klasse die gebruikmaakt van de parameternaam, het gegevenstype, de lengte, de naam van de bronkolom, de parameterrichting, de numerieke precisie en andere eigenschappen. |
| OdbcParameter(String, OdbcType, Int32, String) |
Initialiseert een nieuw exemplaar van de klasse die gebruikmaakt van de parameternaam, het gegevenstype, de OdbcParameter lengte en de naam van de bronkolom. |
| OdbcParameter(String, OdbcType, Int32) |
Initialiseert een nieuw exemplaar van de OdbcParameter klasse die gebruikmaakt van de parameternaam, het gegevenstype en de lengte. |
| OdbcParameter(String, OdbcType) |
Initialiseert een nieuw exemplaar van de OdbcParameter klasse die gebruikmaakt van de parameternaam en het gegevenstype. |
Eigenschappen
| Name | Description |
|---|---|
| DbType |
Hiermee haalt u de DbType parameter op of stelt u deze in. |
| Direction |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de parameter alleen-invoer, alleen-uitvoer, bidirectioneel of een opgeslagen procedure retourwaardeparameter is. |
| IsNullable |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de parameter null-waarden accepteert. |
| OdbcType |
Hiermee haalt u de OdbcType parameter op of stelt u deze in. |
| ParameterName |
Hiermee haalt u de naam van de OdbcParameter. |
| Precision |
Hiermee haalt u het aantal cijfers op dat wordt gebruikt om de Value eigenschap weer te geven. |
| Scale |
Hiermee haalt u het aantal decimalen op of stelt u dit in.Value |
| Size |
Hiermee wordt de maximale grootte van de gegevens in de kolom opgehaald of ingesteld. |
| SourceColumn |
Hiermee haalt u de naam op van de bronkolom die is toegewezen aan de DataSet en wordt gebruikt voor het laden of retourneren van de Valuekolom. |
| SourceColumnNullMapping |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de bronkolom nullable is. Hierdoor kunnen DbCommandBuilder update-instructies voor null-kolommen correct worden gegenereerd. |
| SourceVersion |
Hiermee haalt u het te gebruiken op of stelt u deze DataRowVersion in wanneer u laadt Value. |
| Value |
Hiermee haalt u de waarde van de parameter op of stelt u deze in. |
Methoden
| Name | Description |
|---|---|
| CreateObjRef(Type) |
Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object. (Overgenomen van MarshalByRefObject) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetLifetimeService() |
Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd. (Overgenomen van MarshalByRefObject) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| InitializeLifetimeService() |
Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren. (Overgenomen van MarshalByRefObject) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| MemberwiseClone(Boolean) |
Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object. (Overgenomen van MarshalByRefObject) |
| ResetDbType() |
Hiermee stelt u het type opnieuw in dat aan dit OdbcParametertype is gekoppeld. |
| ResetOdbcType() |
Hiermee stelt u het type opnieuw in dat aan dit OdbcParametertype is gekoppeld. |
| ToString() |
Hiermee haalt u een tekenreeks op die de ParameterName. |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| ICloneable.Clone() |
Zie voor een beschrijving van dit lid Clone(). |
| IDbDataParameter.Precision |
Geeft de precisie van numerieke parameters aan. (Overgenomen van DbParameter) |
| IDbDataParameter.Scale |
Zie voor een beschrijving van dit lid Scale. (Overgenomen van DbParameter) |