español - stringstream c++ ejemplo
¿Qué es un "parámetro de consulta" en C++? (2)
La consulta SQL en forma de consulta parametrizada es segura que el formato de cadena para evitar el ataque de inyección sql. Ejemplo de consulta parametrizada
StringBuilder sqlstr = new StringBuilder();
cmd.Parameters.AddWithValue("@companyid", CompanyID);
sqlstr.Append("SELECT evtconfigurationId, companyid,
configname, configimage FROM SCEVT_CONFIGURATIONS ");
sqlstr.Append("WHERE companyid=@companyid ");
Ejemplo de formato de cadena de consulta
StringBuilder sqlstr = new StringBuilder();
sqlstr.Append("SELECT evtconfigurationId, companyid, configname,
configimage FROM SCEVT_CONFIGURATIONS ");
sqlstr.Append("WHERE companyid" + CompanyID);
Estábamos utilizando stringstream para preparar consultas de selección en C ++. Pero se nos recomendó encarecidamente usar QUERY PARAMETERS para enviar consultas SQL db2 para evitar el uso de stringstream. ¿Alguien puede compartir qué significa exactamente el parámetro de consulta en C ++? Además, comparta algunos ejemplos prácticos de fragmentos de código.
Apreciar la ayuda por adelantado.
Editar: es cadena de caracteres y no de cadena.
Gracias, Mathew Liju
Sospecho que esto se refiere a consultas parametrizadas en general, en lugar de construir la consulta en una cadena, proporcionan variables (o parámetros) sql y luego pasan esas variables por separado. Estos son mucho mejores para manejar ataques de inyección SQL. Para ilustrar con un ejemplo:
"SELECT * FROM Customers WHERE CustomerId = " + _customerId;
Es malo, mientras esto:
"SELECT * FROM Customers where CustomerId = @CustomerId"
es bueno. El problema es que debe agregar los parámetros al objeto de consulta (no sé cómo se hace esto en C ++.
Referencias a otras preguntas:
- https://.com/questions/1973/what-is-the-best-way-to-avoid-sql-injection-attacks
- Procedimientos almacenados vs consultas parametrizadas
Wild Wild Web: