ColdFusion - Consulta dinámica en coldfusion

 
Vista:

Consulta dinámica en coldfusion

Publicado por Cosmo (1 intervención) el 30/11/2005 19:56:18
Hola

Intento hacer lo siguiente

<cfquery name="sql_exec" datasource="#odbc#" dbtype="ODBC">
#sql#
</cfquery>

en sql tengo todo el query que es enviado por parámetro desde otra página desde donde se construyó y todo funciona bien excepto cuando en el where se ponen datos como por ejemplo nombre = 'Ana', ya que cuando se envía un query con un where que contiene comparaciones con string, el sql interpreta la comilla simple y además le agrega otra dejándolo así

where nombre = ''ana''

estas son 2 comillas simple juntas. Despliego lo que hay en la var sql y aparece todo perfecto, es decir

where nombre = 'ana'

pero al ejecutarlo es donde lo interpreta de esta otra forma y no he conseguido darle solución. El error que arroja es el siguiente

Error Diagnostic Information
ODBC Error Code = 37000 (Syntax error or access violation)

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near 'Ana'.

SQL = "select * from nombre where nombre = ''Ana''"

Espero puedan ayudarme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta dinámica en coldfusion

Publicado por Cosmo (1 intervención) el 13/12/2005 16:01:25
Ya no importa, ya lo solucioné....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta dinámica en coldfusion

Publicado por Ernesto (1 intervención) el 02/11/2006 01:00:45
Para evitar problemas con comillas simples en el SQL:

<cfquery name="sql_exec" datasource="#odbc#" dbtype="ODBC">
#PreserveSingleQuote(sql)#
</cfquery>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta dinámica en coldfusion

Publicado por Juan (1 intervención) el 29/03/2012 01:17:52
corriginedo al companero

remmplazar "PreserveSingleQuote" por "PreserveSingleQuotes" le faltaba una 's'

<cfquery name="sql_exec" datasource="#odbc#" dbtype="ODBC">
#PreserveSingleQuotes(sql)#
</cfquery>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar