Tengo una base de datos en SQL Server y tengo 1 duda sobre el código de 1 consulta.

Hola :
Tengo una base de datos en SQL Server y estoy haciendo una consulta con el siguiente código:
//-----------las varialbles-------
String codigo,cadena,sexo
integer ex
//--------------------------------
cadena = '00001'
sexo = 'M'
codigo=cadena+sexo
//--------la consulta----------
select count(*)
into: ex
from siad_persona
where cod_per like '" + codigo + "%' ;
No me da resultados, a que se debe, no encuentro la solución...
Respuesta
1
El tema que veo en la consulta que generaste es la siguiente:
1. Si la variable código es ingresada por teclado esta debe ir precedida de dos puntos es decir :código
2. Cuando utilizas '"+ código + "%' estas consultando todos aquellos registros (cod_per) que empiecen con la palabra código, la forma correcta debería ser
where cod_per like'"+ codigo //donde codigo=codigo+sexo+'%'
3. El codigo a emplear debe ser:
//-------Variables
int ex
string codigo
//-------
codigo=sle_1.text+"%"
select count(*)
into :ex
from siad_persona
where codper like :codigo;
Esta consulta la probé contra una base de datos Northwind siad_persona (orders), codper (customerID)
4. Para conocer el valor exacto que recibe la aplicación te sugiero que ejecutes el debugger y ver que valor toma exactamente la variable código antes de ejecutar el select.
Espero te sea de ayuda, caso contrario avisame para darle solución a este problema
El código correcto es:
select count(*)
into :ex
from siad_persona
where codper like :codigo + '%';
En el INTO pusiste los dos puntos correctamente pero se te paso poner los dos puntos al código.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas