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 OleDbParameterCollection.
public:
property System::Data::OleDb::OleDbParameterCollection ^ Parameters { System::Data::OleDb::OleDbParameterCollection ^ get(); };
[System.Data.DataSysDescription("DbCommand_Parameters")]
public System.Data.OleDb.OleDbParameterCollection Parameters { get; }
public System.Data.OleDb.OleDbParameterCollection Parameters { get; }
[<System.Data.DataSysDescription("DbCommand_Parameters")>]
member this.Parameters : System.Data.OleDb.OleDbParameterCollection
member this.Parameters : System.Data.OleDb.OleDbParameterCollection
Public ReadOnly Property Parameters As OleDbParameterCollection
Valor de propiedad
Parámetros de la instrucción SQL o del procedimiento almacenado. El valor predeterminado es una colección vacía.
- Atributos
Ejemplos
En el ejemplo siguiente se crea y OleDbCommand 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
Ole DB .NET Provider 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 está establecido en Text. 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.
Note
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.