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

Problemas con instruccion sql

Estas en el tema de Problemas con instruccion sql en el foro de Bases de Datos General en Foros del Web. Hola a todos . Tengo un problema con una isntruccion sql en un archivo de asp.net resulta que quiero sumar valores de dos canpos hasta ...
  #1 (permalink)  
Antiguo 07/08/2008, 16:29
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Problemas con instruccion sql

Hola a todos . Tengo un problema con una isntruccion sql en un archivo de asp.net
resulta que quiero sumar valores de dos canpos hasta una determinada fecha he probado de todo y no se que mas hacer , soy nuevo en esto a lo mejor el error es tonto , por favor si pueden ayudarme se los agradeceria mucho.

dim adnoticia9 = new oledbdataadapter ("SELECT Sum(valordeposito) AS SumaDevalordeposito, Sum(valorgiro) AS SumaDevalorgiro from cuentabci where fecha >= '01-01-2008' and tope fecha <= '"& fecha1 &"' ", conn)

fecha1 es una variable string que se hace concatenando unas listas desplegables
, cuando sumo sin las fechas no hay problemas pero cuando agrego la condicion me dice que falta operador.

Desde ya muchas gracia.
César
  #2 (permalink)  
Antiguo 08/08/2008, 02:31
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Problemas con instruccion sql

Que bbdd usas?

Seguramente es un problema de formato de la fecha que estas pasando...

Mira si entrando fechas concretas funciona, p. e.


SELECT Sum(valordeposito) AS SumaDevalordeposito, Sum(valorgiro) AS SumaDevalorgiro from cuentabci where fecha >= '01-01-2008' and tope fecha <= '01-05-2008'

tope fecha esto es un nombre de campo, con un blanco?

Quim
  #3 (permalink)  
Antiguo 11/08/2008, 22:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemas con instruccion sql

el tope esta demas es solo el campo fecha, estoy con access, he probado cambiando los tipos de datos a date y en la base tb .
Saludos y gracias.
  #4 (permalink)  
Antiguo 11/08/2008, 22:42
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemas con instruccion sql

el formato del string es igual al de la fecha cuando pruebo con string , me resta como si la fecha fuera un numero , no se como hacer que tome la fecha en orden decendente o asendente
  #5 (permalink)  
Antiguo 13/08/2008, 12:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Problemas con instruccion sql

#mm/dd/aaaa#

creo

lo que es seguro son los # de inicio y fin.

Quim
  #6 (permalink)  
Antiguo 18/08/2008, 12:02
 
Fecha de Ingreso: agosto-2008
Mensajes: 6
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problemas con instruccion sql

Cita:
Iniciado por Jubei30 Ver Mensaje
Hola a todos . Tengo un problema con una isntruccion sql en un archivo de asp.net
resulta que quiero sumar valores de dos canpos hasta una determinada fecha he probado de todo y no se que mas hacer , soy nuevo en esto a lo mejor el error es tonto , por favor si pueden ayudarme se los agradeceria mucho.

dim adnoticia9 = new oledbdataadapter ("SELECT Sum(valordeposito) AS SumaDevalordeposito, Sum(valorgiro) AS SumaDevalorgiro from cuentabci where fecha >= '01-01-2008' and tope fecha <= '"& fecha1 &"' ", conn)

fecha1 es una variable string que se hace concatenando unas listas desplegables
, cuando sumo sin las fechas no hay problemas pero cuando agrego la condicion me dice que falta operador.

Desde ya muchas gracia.
César

Estimado, el error es debido a que estas pasando la fecha en dos formatos distintos, por defecto SQL guarda la fecha en formato ISO, es decir, '20080818', pero tu le estas consultando por una fecha en formato '18-08-2008' lo que debes hacer es convertir ambas fechas al mismo formato. Yo te recomiendo pasar todas las fechas a ISO, es decir: 'AAAAMMDD'.

Saludos

CARANCOR
  #7 (permalink)  
Antiguo 18/08/2008, 12:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 6
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problemas con instruccion sql

Cita:
Iniciado por Jubei30 Ver Mensaje
Hola a todos . Tengo un problema con una isntruccion sql en un archivo de asp.net
resulta que quiero sumar valores de dos canpos hasta una determinada fecha he probado de todo y no se que mas hacer , soy nuevo en esto a lo mejor el error es tonto , por favor si pueden ayudarme se los agradeceria mucho.

dim adnoticia9 = new oledbdataadapter ("SELECT Sum(valordeposito) AS SumaDevalordeposito, Sum(valorgiro) AS SumaDevalorgiro from cuentabci where fecha >= '01-01-2008' and tope fecha <= '"& fecha1 &"' ", conn)

fecha1 es una variable string que se hace concatenando unas listas desplegables
, cuando sumo sin las fechas no hay problemas pero cuando agrego la condicion me dice que falta operador.

Desde ya muchas gracia.
César

Respecto a lo anterior quiero agregar que ojala no consultes directo a la base, haz un SP. Es mas optimo y evita el SQL INYECTION. Ademas en el SP puedes manejar la fecha de mejor manera, claro que tendreas que cambiar el llamado, ya que deberas hacer la funcion para llamar a un sp y no para lanzar una query al DBMS.

SALUDOS
  #8 (permalink)  
Antiguo 19/08/2008, 15:19
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemas con instruccion sql

Tenias toda la razon carancor cambien los formatos de fecha y funciono correctamente te lo agradesco mucho al final deje todo como dato string
y deje la fecha como de dijiste aaaammdd que doalgo asi

fecha1 = ano2 & mes2 & dia
dim dsnoticia9 as new dataset
dim adnoticia9 = new oledbdataadapter ("SELECT Sum(valordeposito) AS SumaDevalordeposito, Sum(valorgiro) AS SumaDevalorgiro from cuentabci where fecha <= '"& fecha1 &"' ", conn)

Lo otro que me dijiste no lo entendi como se haria?

Muchas Gracias a todos
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 09:05.