Foros del Web » Programando para Internet » ASP Clásico »

Problemas con un string

Estas en el tema de Problemas con un string en el foro de ASP Clásico en Foros del Web. Hola colegas, tengo el siguiente problema. Creo una tabla a traves de una consulta SQL, en la cual le digo lo siguiente rs.open "SELECT * ...
  #1 (permalink)  
Antiguo 22/05/2007, 12:44
 
Fecha de Ingreso: abril-2007
Mensajes: 65
Antigüedad: 18 años
Puntos: 0
Problemas con un string

Hola colegas, tengo el siguiente problema.
Creo una tabla a traves de una consulta SQL, en la cual le digo lo siguiente

rs.open "SELECT * From RioNegro WHERE fecha BETWEEN '" & inicio & "' AND '" & final & "'",Con,1
se supone que inicio es la fecha de inicio y final obviamente la fecha final de la busqueda.
Todo bien me trae lo que necesito ej entre el 02-05-2007 y 03-05-2007, pero
ademas necesito trae por fecha o sea que solo muestre los datos que estan entre tal y tal hora.

para eso cuando va a crear la tabla le digo lo siguiente:
Do While Not rs.EOF

if (rs(1)>=horainicio) and (rs(1)<=horafinal) then
Response.Write "<tr>" & vbCrLf
Response.write "<td>" & rs(0) & "</td>"
Response.write "<td>" & rs(1) & "</td>"
Response.write "<td>" & rs(2) & "</td>"
Response.write "<td>" & rs(3) & "</td>"
Response.write "<td>" & rs(4) & "</td>"
Response.Write "</tr>" & vbCrLf
end if
rs.MoveNext
Loop
Response.Write "</table>"
todo bien cualquier hora entre las 03:00AM y las 23:59
ej.
Los registros del dia 02-05-07 entre las 3:00 y las 4:00
resultado
fecha hora Nivel_estanque Caudal_Salida Totalizador
02/05/2007 3:04:36 3,1 4,9 937
02/05/2007 3:09:36 3,1 5 938
02/05/2007 3:14:36 3,2 4,9 940
02/05/2007 3:19:36 3,2 5,2 941
02/05/2007 3:24:36 3,2 5 943
02/05/2007 3:29:36 3,2 4,9 944
02/05/2007 3:34:36 3,2 5,1 946
02/05/2007 3:39:36 3,3 4,9 947
02/05/2007 3:44:36 3,3 5 949
02/05/2007 3:49:36 3,3 4,9 950
02/05/2007 3:54:36 3,3 5,1 952
02/05/2007 3:59:37 3,3 5,4 953

Pero si le digo que entre la 1:00 y las 2:00 pasa lo siguiente
fecha hora Nivel_estanque Caudal_Salida Totalizador
02/05/2007 1:04:36 2,7 5,8 898
02/05/2007 1:09:36 2,7 5,4 899
02/05/2007 1:14:36 2,7 5 901
02/05/2007 1:19:36 2,7 5,9 903
02/05/2007 1:24:36 2,8 6,1 904
02/05/2007 1:29:36 2,8 5,5 906
02/05/2007 1:34:36 2,8 5,6 908
02/05/2007 1:39:36 2,8 5,3 909
02/05/2007 1:44:36 2,8 6,2 911
02/05/2007 1:49:36 2,8 5,6 913
02/05/2007 1:54:36 2,9 5,4 914
02/05/2007 1:59:36 2,9 5,9 916
02/05/2007 20:00:27 3 11,5 1762
02/05/2007 20:05:27 3 12,5 1765
02/05/2007 20:10:27 3 13,1 1769
02/05/2007 20:15:27 2,9 11,7 1773
02/05/2007 20:20:27 2,9 12,9 1776
02/05/2007 20:25:27 2,9 12,5 1780
02/05/2007 20:30:27 2,8 12,6 1784
02/05/2007 20:35:27 2,8 13,5 1787
02/05/2007 20:40:27 2,8 12,1 1791
02/05/2007 20:45:27 2,7 11,5 1795
02/05/2007 20:50:27 2,7 11 1799
02/05/2007 20:55:27 2,7 10,9 1802
02/05/2007 21:00:27 2,6 10,6 1805
02/05/2007 21:05:27 2,6 12,6 1809
02/05/2007 21:10:27 2,6 12,2 1813
02/05/2007 21:15:27 2,6 13,3 1817
02/05/2007 21:20:27 2,5 12,1 1821
02/05/2007 21:25:27 2,5 12,3 1824
02/05/2007 21:30:27 2,5 11,8 1828
02/05/2007 21:35:27 2,4 11,3 1832
02/05/2007 21:40:27 2,4 12,7 1835
02/05/2007 21:45:27 2,4 11,9 1839
02/05/2007 21:50:27 2,3 12,9 1843
02/05/2007 21:55:27 2,3 15,9 1847
02/05/2007 22:00:27 2,3 13,4 1851
02/05/2007 22:05:27 2,2 13,5 1854
02/05/2007 22:10:27 2,2 12,7 1858
02/05/2007 22:15:27 2,2 11,5 1862
02/05/2007 22:20:27 2,1 11,9 1865
02/05/2007 22:25:27 2,1 11,1 1869
02/05/2007 22:30:27 2,1 11,1 1872
02/05/2007 22:35:27 2,1 11,2 1875
02/05/2007 22:40:27 2 8,9 1878
02/05/2007 22:45:27 2 9,1 1881
02/05/2007 22:50:27 2 9,2 1884
02/05/2007 22:55:27 2 9,7 1887
02/05/2007 23:00:27 1,9 9,2 1889
02/05/2007 23:05:27 1,9 8,2 1892
02/05/2007 23:10:27 1,9 10,2 1894
02/05/2007 23:15:27 1,9 9,1 1897
02/05/2007 23:20:27 1,8 9,1 1900
02/05/2007 23:25:27 1,8 8,5 1902
02/05/2007 23:30:27 1,8 8,8 1905
02/05/2007 23:35:27 1,8 9,4 1907
02/05/2007 23:40:27 1,8 6,6 1910
02/05/2007 23:45:27 1,8 6,6 1912
02/05/2007 23:50:27 1,8 7,7 1914
02/05/2007 23:55:27 1,9 7,4 1916
El dato de fecha en la BD lo graba como String

que puede ser Ayuda, Please
  #2 (permalink)  
Antiguo 22/05/2007, 13:11
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Problemas con un string

si no mal recuerdo, en un post similar se tenian que poner las fechas entre este signo para indicarle al motor de busqueda que se efectua una consulta entre fechas(valgame la rebusnancia)

rs.open "SELECT * From RioNegro WHERE fecha BETWEEN #" & inicio & "# AND #" & final & "#",Con,1

intentalo...
suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 22/05/2007, 15:37
 
Fecha de Ingreso: abril-2007
Mensajes: 65
Antigüedad: 18 años
Puntos: 0
Re: Problemas con un string

Estimado Shiryu_Libra, no es problemas de Fecha, es de horas, cuando hago la consulta trae todos los registros que se crearon en ese lapso, supongamos 200 registros desde las 0:01:00 hasta las 23:59:59. eso Ok.
Pero cuando va a construir la tabla por medio de un "IF " le consulto si el registro que se va a escribir en la tabla es >= que la horainicio y ademas <= que la horafinaln si esta en esos rangos lo escribe, cualquier hora que consulto entre las 3 y las 23 horas impecable consulto entre la 1 y las 2 y me entrega a parte de la 1 y 2 las 13,14,15,16,17,18,19,20,21,22,23, osea se marea al consulta por 1 y 2 y entrega todo lo que comienze con estos nros. espero que se entienda el problema.
El registro hora en mi BD es un dato tipo char.
Gracias.
  #4 (permalink)  
Antiguo 23/05/2007, 01:40
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Problemas con un string

Pues si es un problema de fechas, nitreb. Especificamente de tipos. No se que BD atacas pero supongo que Access o MSSQL. Si es Access, tienes la opcion de convertir dichas horas en fechas junto con la fecha para que el motor de Access pueda entender las fechas. O sea, hacer un CDate :

"SELECT * From RioNegro WHERE Cdate(CStr(fecha & ' ' & hora)) BETWEEN #" & inicio & "# AND #" & final & "#"

Con MSSQL es

"SELECT * From RioNegro WHERE CAST((fecha + ' ' + hora) As datetime) BETWEEN '" & inicio & "' AND '" & final & "'"


Esto siempre y cuando guardes las horas en el formato correcto: (hh:mm:ss)


Una buena opcion es preguntar en el foro de Bases de datos ya que tu problema de de SQL no de ASP


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
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 14:46.