OleDbCommand.Parameters Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene la estructura OleDbParameterCollection.
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
Valor de propiedad
Parámetros de la instrucción SQL o procedimiento almacenado. El valor predeterminado es una colección vacía.
- Atributos
Ejemplos
En el ejemplo siguiente se crea un OleDbCommand objeto y se muestran sus parámetros. Para ello, el método se pasa a , OleDbConnectionuna cadena de consulta que es una instrucción SELECT de SQL y una matriz de OleDbParameter objetos .
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
Comentarios
El proveedor OLE DB .NET no admite parámetros con nombre para pasar parámetros a una instrucción SQL o a un procedimiento almacenado llamado por un OleDbCommand cuando CommandType se establece Text
en . En este caso, se debe usar el marcador de posición de signo de interrogación (?). Por ejemplo:
SELECT * FROM Customers WHERE CustomerID = ?
Por lo tanto, el orden en el que OleDbParameter se agregan objetos a OleDbParameterCollection debe corresponder directamente a la posición del marcador de posición del signo de interrogación para el parámetro en el texto del comando.
Nota
Si los parámetros de la colección no coinciden con los requisitos de la consulta que se van a ejecutar, puede producirse un error.
Para obtener más información, consulte Configuración de parámetros y tipos de datos de parámetros.