OleDbCommand.Parameters Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
OleDbParameterCollectionHämtar .
public:
property System::Data::OleDb::OleDbParameterCollection ^ Parameters { System::Data::OleDb::OleDbParameterCollection ^ get(); };
public System.Data.OleDb.OleDbParameterCollection Parameters { get; }
[System.Data.DataSysDescription("DbCommand_Parameters")]
public System.Data.OleDb.OleDbParameterCollection Parameters { get; }
member this.Parameters : System.Data.OleDb.OleDbParameterCollection
[<System.Data.DataSysDescription("DbCommand_Parameters")>]
member this.Parameters : System.Data.OleDb.OleDbParameterCollection
Public ReadOnly Property Parameters As OleDbParameterCollection
Egenskapsvärde
Parametrarna för SQL-instruktionen eller den lagrade proceduren. Standardvärdet är en tom samling.
- Attribut
Exempel
I följande exempel skapas en OleDbCommand och dess parametrar visas. För att åstadkomma detta skickas metoden en OleDbConnection, en frågesträng som är en SQL SELECT-instruktion och en matris med OleDbParameter objekt.
public void CreateMyOleDbCommand(OleDbConnection connection,
string queryString, OleDbParameter[] parameters)
{
OleDbCommand command = new OleDbCommand(queryString, connection);
command.CommandText =
"SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?";
command.Parameters.Add(parameters);
for (int j=0; j<parameters.Length; j++)
{
command.Parameters.Add(parameters[j]) ;
}
string message = "";
for (int i = 0; i < command.Parameters.Count; i++)
{
message += command.Parameters[i].ToString() + "\n";
}
Console.WriteLine(message);
}
Public Sub CreateMyOleDbCommand(connection As OleDbConnection, _
queryString As String, parameters() As OleDbParameter)
Dim command As New OleDbCommand(queryString, connection)
command.CommandText = _
"SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?"
command.Parameters.Add(parameters)
Dim j As Integer
For j = 0 To command.Parameters.Count - 1
command.Parameters.Add(parameters(j))
Next j
Dim message As String = ""
Dim i As Integer
For i = 0 To command.Parameters.Count - 1
message += command.Parameters(i).ToString() + ControlChars.Cr
Next i
Console.WriteLine(message)
End Sub
Kommentarer
OLE DB .NET-providern stöder inte namngivna parametrar för att skicka parametrar till en SQL-instruktion eller en lagrad procedur som anropas av en OleDbCommand när CommandType är inställd på Text. I det här fallet måste platshållaren för frågetecken (?) användas. Ett exempel:
SELECT * FROM Customers WHERE CustomerID = ?
Därför måste den ordning i vilken OleDbParameter objekt läggs till OleDbParameterCollection direkt motsvara positionen för frågetecknets platshållare för parametern i kommandotexten.
Note
Om parametrarna i samlingen inte matchar kraven för den fråga som ska köras kan ett fel uppstå.
Mer information finns i Konfigurera parametrar och parameterdatatyper.