Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

ERRROR SQL(urgente pleaseeee)

Estas en el tema de ERRROR SQL(urgente pleaseeee) en el foro de Bases de Datos General en Foros del Web. huolas, tengo un problema con un procedimiento almacenado. Lo tengo creado, al comprobar la sintaxis me dice que esta bien.Pero en mi programa de VB, ...
  #1 (permalink)  
Antiguo 09/03/2005, 02:57
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 21 años, 5 meses
Puntos: 0
ERRROR SQL(urgente pleaseeee)

huolas, tengo un problema con un procedimiento almacenado.
Lo tengo creado, al comprobar la sintaxis me dice que esta bien.Pero en mi programa de VB, no me funciona, descubri el analizador de consultas de sql, para depurar el procedimiento, pero me aparece un fallo.


[Microsoft][ODBC SQL Server Driver]Datos tipo String, se truncarán por la derecha


Mi procedimiento es el siguiente



CREATE PROCEDURE dbo.procedimientoprueba(@pruta as char,@pfecha_proxima_recogida as datetime,@pfechaviernes as datetime ,@pdia as char)
AS
Declare @respuesta as bit


SELECT @respuesta= Una_por_semana FROM Rutas_una_por_semana
WHERE Nombre_ruta=@pruta

IF @respuesta = 1
BEGIN

SELECT * FROM CLIENTES
WHERE (Ruta = @pruta) AND( Fecha_proxima_recogida BETWEEN @pfecha_proxima_recogida AND @pfechaviernes) AND ((Dia_recogida like NULL ) OR (dia_recogida like @pdia))
END

ELSE
BEGIN
SELECT * FROM CLIENTES
WHERE (Ruta=@pruta) AND (fecha_proxima_borrador=@pfecha_proxima_recogida)
END
GO




Los parametros son del mismo tipo, en el procedimiento, y en la consulta, no se que puede fallar.

pd:es la primera vez que uso el famoso T-sql, puede ser que esta haciendo una burrada, pero no me lo parece.

graciass saludossssss
  #2 (permalink)  
Antiguo 09/03/2005, 15:36
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 6 meses
Puntos: 25
Creo que el problema está aqui:
Código:
Declare @respuesta as bit


SELECT @respuesta= Una_por_semana FROM Rutas_una_por_semana
WHERE Nombre_ruta=@pruta
¿Que tipo de dato es "Una_por_semana"? Si no es de tipo bit entonces eso explicaría el mensaje.

Prueba cambiando el tipo de datos a TINYINT o a el del tipo de datos de la columna.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 10/03/2005, 02:29
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 21 años, 5 meses
Puntos: 0
Mithrandir Una_por_semana es de tipo bit tb, estuve probando a meterle valores null a los parametros, y al parecer el fallo esta en las dos fechas, pero no entiendo por que, si tanto los parametros, como los campos de la tabla estan declarados igual, como datetime, he intentado con smalldatetime, y nada, con el unico que parece que funciona es declarandolos como cadena, nvarchar(8), pero no me gusta tenerlo asi, por que me huelo que me acabara dando problemas.
Muchas graciasss de todas formas ;)
saludosss
  #4 (permalink)  
Antiguo 10/03/2005, 15:11
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 6 meses
Puntos: 25
Hmm, acabo de vero otra cosa. No indicas el tamaño de tus variables CHAR, al declararlos de esa manera se crea una longitud por default (que no recuerdo ahora), que probablemente no concuerda con la longitud pasada en el parámetro, o bien, con la de los campos.

Con las fechas a simple vista no encuentro ningun problema
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #5 (permalink)  
Antiguo 10/03/2005, 16:39
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 21 años, 5 meses
Puntos: 0
si en eso ya me habia fijado, y lo cambie, pero aun asi donde me salta el fallo, es en las dos fechas, y no entiendo por que :/
graciass saludoss
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:30.