Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Manejo de parametros en sql (https://www.clubdelphi.com/foros/showthread.php?t=47996)

zvf 12-09-2007 20:15:38

Manejo de parametros en sql
 
Hola a todos!

Tengo un problema muy muy grande :confused:

Quiero pasar como parámetro una cadena (con sql server), y lo estoy haciendo así:

<sql>

declare @palabra char
select @palabra = '%distrofia%'

select * from NotaOftalmologia
where noof_nota like @palabra

</sql>

Pero no funciona, no hace ningún filtro de información.
¿Me pueden ayudar haber en donde tengo el error?

Gracias!!

BlueSteel 12-09-2007 21:11:28

Hola zvf

desde donde estas pasando esos parametros...

se supone que lo que haces funciona desde el editor de consultas del SQL Server... y para pasar los parametros necesitas llamar a alguna funcion o procedimiento almacenado...

además, desde el interprete de comando del sql.. aún le falta declarar que tipo es (funcion, procedimiento, tigger, etc...)

por eso tendrias que explicarte un poquito mejor...

ese codigo k tienes te funciona en algun lado???:p

zvf 13-09-2007 15:14:55

Si, si funciona
 
Hola!

Si funciona, solo lo estoy corriendo desde el analizador de consultas de sql server, y por ejemplo, si yo a esto le escribo una palabra fija, es decir sin intentar usar los comodines '%', si me busca las celdas que contengan exactamente la palabra que le estoy pasando al parámetro.

Esto que estoy haciendo, primero necesito que funcione así, y después lo voy a insertar en un resporte de crystal reports y el usuario le dará el parámetro, que será una cadena cualquiera.

Si te fijas, en el primer select a la variable @palabra le estoy pasando el valor '%distrofia%'. Mi problema es que el like no lo valora, pero esto si funciona si yo le mando solamente 'distrofia'.

Yo necesito encontrar las celdas que contengan la palabra distrofía en cualquier parte del texto.

No se si me di a entender :(

Muchas gracias por tu apoyo!

duilioisola 13-09-2007 16:09:49

Yo trabajo con Firebird, pero puede que te ayude el siguiente comentario si las notas que comentas son campos BLOBs.

No se pueden comparar campos BLOB sin funciones externas.
Esto es porque un campo blob puede ser cualquier cosa y el motor de base de datos no sabe como aplicar las funciones > mayor, < menor, = igual, etc.

(PD. la igualdad puede que si la pueda verificar, tomando bit a bit cada blob)


La franja horaria es GMT +2. Ahora son las 23:25:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi