OleDbParameter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje parametr i OleDbCommand opcjonalnie jego mapowanie na kolumnę DataSet . Klasa ta nie może być dziedziczona.
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
- Dziedziczenie
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
Poniższy przykład tworzy wiele wystąpień OleDbParameter za pośrednictwem OleDbParameterCollection kolekcji w obiekcie OleDbDataAdapter. Te parametry służą do wybierania danych ze źródła danych i umieszczania danych w elemecie DataSet. W tym przykładzie założono, że obiekt DataSet i OleDbDataAdapter został już utworzony przy użyciu odpowiedniego schematu, poleceń i połączenia.
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
Uwagi
Dostawca danych OLE DB.NET Framework używa parametrów pozycyjnych oznaczonych znakiem zapytania (?) zamiast nazwanych parametrów.
Podczas wykonywania zapytań względem bazy danych Oracle przy użyciu Microsoft OLE DB Provider dla Oracle (MSDAORA) i dostawcy danych OLE DB.NET Framework, użycie LIKE
klauzuli do wykonywania zapytań o wartości w polach o stałej długości może nie zwracać wszystkich oczekiwanych dopasowań. Przyczyną jest to, że gdy oracle pasuje do wartości pól o stałej LIKE
długości w klauzuli, pasuje do całej długości ciągu, w tym wszelkich spacji końcowych. Jeśli na przykład tabela w bazie danych Oracle zawiera pole o nazwie "Field1", które jest zdefiniowane jako char(3)
, i wprowadź wartość "a" w wierszu tej tabeli, poniższy kod nie zwraca wiersza.
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();
Dzieje się tak, ponieważ oracle przechowuje wartość kolumny jako "a" (dopełnianie "a", z spacjami końcowymi, do stałej długości pola 3), które Oracle nie traktuje jako dopasowania wartości parametru "a" w przypadku LIKE
porównania pól o stałej długości.
Aby rozwiązać ten problem, dołącz wartość procentową ("%") symbol wieloznaczny do wartości parametru ("a%"
) lub zamiast tego użyj porównania SQL =
.
Konstruktory
OleDbParameter() |
Inicjuje nowe wystąpienie klasy OleDbParameter. |
OleDbParameter(String, Object) |
Inicjuje OleDbParameter nowe wystąpienie klasy, które używa nazwy parametru i wartości nowego OleDbParameter. |
OleDbParameter(String, OleDbType) |
Inicjuje nowe wystąpienie klasy, które używa nazwy parametru OleDbParameter i typu danych. |
OleDbParameter(String, OleDbType, Int32) |
Inicjuje nowe wystąpienie klasy, które używa nazwy parametru OleDbParameter , typu danych i długości. |
OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) |
Inicjuje nowe wystąpienie klasy, które używa nazwy parametru OleDbParameter , typu danych, długości, nazwy kolumny źródłowej, kierunku parametru, dokładności liczbowej i innych właściwości. |
OleDbParameter(String, OleDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object) |
Inicjuje nowe wystąpienie klasy, które używa nazwy parametru OleDbParameter , typu danych, długości, nazwy kolumny źródłowej, kierunku parametru, dokładności liczbowej i innych właściwości. |
OleDbParameter(String, OleDbType, Int32, String) |
Inicjuje nowe wystąpienie klasy, które używa nazwy parametru OleDbParameter , typu danych, długości i nazwy kolumny źródłowej. |
Właściwości
DbType |
Pobiera lub ustawia DbType parametr . |
Direction |
Pobiera lub ustawia wartość, która wskazuje, czy parametr jest parametrem tylko wejściowym, wyjściowym, dwukierunkowym lub parametrem zwracanej wartości procedury składowanej. |
IsNullable |
Pobiera lub ustawia wartość wskazującą, czy parametr akceptuje wartości null. |
OleDbType |
Pobiera lub ustawia OleDbType parametr . |
ParameterName |
Pobiera lub ustawia nazwę elementu OleDbParameter. |
Precision |
Pobiera lub ustawia maksymalną liczbę cyfr używanych do reprezentowania Value właściwości. |
Scale |
Pobiera lub ustawia liczbę miejsc dziesiętnych, do których Value jest rozpoznawana. |
Size |
Pobiera lub ustawia maksymalny rozmiar danych w bajtach w kolumnie. |
SourceColumn |
Pobiera lub ustawia nazwę kolumny źródłowej zamapowanej na DataSet element i używany do ładowania lub zwracania Valuewartości . |
SourceColumnNullMapping |
Pobiera lub ustawia wartość wskazującą, czy kolumna źródłowa ma wartość null. DbCommandBuilder Umożliwia to poprawne generowanie instrukcji Update dla kolumn dopuszczanych do wartości null. |
SourceVersion |
Pobiera lub ustawia wartość DataRowVersion do użycia podczas ładowania Value. |
Value |
Pobiera lub ustawia wartość parametru. |
Metody
CreateObjRef(Type) |
Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym. (Odziedziczone po MarshalByRefObject) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetLifetimeService() |
Przestarzałe.
Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
InitializeLifetimeService() |
Przestarzałe.
Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
MemberwiseClone(Boolean) |
Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu. (Odziedziczone po MarshalByRefObject) |
ResetDbType() |
Resetuje typ skojarzony z tym OleDbParameterelementem . |
ResetOleDbType() |
Resetuje typ skojarzony z tym OleDbParameterelementem . |
ToString() |
Pobiera ciąg zawierający ParameterNameelement . |
Jawne implementacje interfejsu
ICloneable.Clone() |
Aby uzyskać opis tego elementu członkowskiego, zobacz Clone(). |
IDbDataParameter.Precision |
Wskazuje dokładność parametrów liczbowych. (Odziedziczone po DbParameter) |
IDbDataParameter.Scale |
Aby uzyskać opis tego elementu członkowskiego, zobacz Scale. (Odziedziczone po DbParameter) |