Forums Últimos mensajes - Powered by IBM
 

generando consulta

23/08/2007 - 05:19 por Edwin | Informe spam
Hola Amigos estoy Programando en VBNET 2005 y usando SQL Server 2005
Professional

Estoy creando un procedimiento almacenado que em devuelva unos recibos
emitidos entre FechaIni y FechaFin los cuales paso como parametros.

Dentro del Procedimiento almacenado estoy creando una cadena cSQL

la cual tiene algo asi :
Parametros
@FechaIni nvarchar(10) ,
@FechaFin nvarchar(10) ,

1) SET @cSQL = @cSQL + 'WHERE (RecibosMov.FECREC >= '+ @FechaIni + ')' + '
AND (RecibosMov.FECREC <= ' + @FechaFin + ') '

cuando llamo al procedimiento lo hago de la siguiente manera:

2) sp_SubConsultaReporte '01/01/2007' , '20/08/2007'

Obteniendo una cadena @cSQL del siguiente contenido:

3)
SELECT RecibosMov.RECIBONRO, RecibosMov.COD_ALUMNO, Maestro.APEPAT as
nombres
FROM Maestro INNER JOIN RecibosMov ON Maestro.COD_ALUMNO =
RecibosMov.COD_ALUMNO
WHERE (RecibosMov.FECREC >= 01/01/2007) AND (RecibosMov.FECREC <=
20/08/2007)

*** El caso es que esta me devuelve una consulta vacia, haciendo pruebas con
esta cadena :resulta que si coloco la fecha final (20/08/2007) entre
comillas ('20/08/2007') alli si obtengo el resultado requerido.

Como puedo hacer que mi expresion "1)" me genere la cadena @cSQL con las
comillas incluidas?

Aunque no entiendo porque me exige las comillas solo para la @FechaFin
mientras que si trabaja bien para @FechaIni.

Gracias por la ayuda que me puedan dar.

Saludos,

Edwin.
 

Leer las respuestas

#1 Luis Mata
23/08/2007 - 06:03 | Informe spam
Hola
mira esto


create table tabprueba(fecha datetime, nombre varchar(100))

insert into tabprueba values('2007-08-01','LUIS')

insert into tabprueba values('2007-08-02','MARY')


declare @fecha nvarchar(10), @cadena varchar(150)

set @fecha = '2007-08-01'

SET @cadena = 'select * from tabprueba where fecha =
'+''''+@fecha+''''--fijate aqui


print @cadena


exec (@cadena)


DROP TABLE tabprueba

pon +''''+@variable+''''

4 comillas






"Edwin" <edwin_ararrobaterrapuntocompuntope> escribió en el mensaje
news:
Hola Amigos estoy Programando en VBNET 2005 y usando SQL Server 2005
Professional

Estoy creando un procedimiento almacenado que em devuelva unos recibos
emitidos entre FechaIni y FechaFin los cuales paso como parametros.

Dentro del Procedimiento almacenado estoy creando una cadena cSQL

la cual tiene algo asi :
Parametros
@FechaIni nvarchar(10) ,
@FechaFin nvarchar(10) ,

1) SET @cSQL = @cSQL + 'WHERE (RecibosMov.FECREC >= '+ @FechaIni + ')' + '
AND (RecibosMov.FECREC <= ' + @FechaFin + ') '

cuando llamo al procedimiento lo hago de la siguiente manera:

2) sp_SubConsultaReporte '01/01/2007' , '20/08/2007'

Obteniendo una cadena @cSQL del siguiente contenido:

3)
SELECT RecibosMov.RECIBONRO, RecibosMov.COD_ALUMNO, Maestro.APEPAT as
nombres
FROM Maestro INNER JOIN RecibosMov ON Maestro.COD_ALUMNO =
RecibosMov.COD_ALUMNO
WHERE (RecibosMov.FECREC >= 01/01/2007) AND (RecibosMov.FECREC <=
20/08/2007)

*** El caso es que esta me devuelve una consulta vacia, haciendo pruebas
con
esta cadena :resulta que si coloco la fecha final (20/08/2007) entre
comillas ('20/08/2007') alli si obtengo el resultado requerido.

Como puedo hacer que mi expresion "1)" me genere la cadena @cSQL con las
comillas incluidas?

Aunque no entiendo porque me exige las comillas solo para la @FechaFin
mientras que si trabaja bien para @FechaIni.

Gracias por la ayuda que me puedan dar.

Saludos,

Edwin.




Preguntas similares