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

alguien me puede ayudar por favor !!!!!!

Estas en el tema de alguien me puede ayudar por favor !!!!!! en el foro de ASP Clásico en Foros del Web. Tengo una pregunta super importante que hacerte a ver si me pueden ayudar, ya que tengo varios dias tratando y nada! Tengo hecha una conexion ...
  #1 (permalink)  
Antiguo 28/04/2004, 02:24
 
Fecha de Ingreso: febrero-2004
Mensajes: 8
Antigüedad: 21 años, 2 meses
Puntos: 0
alguien me puede ayudar por favor !!!!!!

Tengo una pregunta super importante que hacerte a ver si me pueden ayudar, ya que tengo varios dias tratando y nada!

Tengo hecha una conexion (asp) con una tabla visual foxpro donde deseo consultar sobre el valor de un campo de la tabla de llamado fecha y con formato fecha:

valor_fecha=cdate("01/01/2004")

dim oconn,rs,sSQL
sSQL= "SELECT * FROM articulos WHERE FECHA>= '"&valor_FECHA&"' order by codigo "
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "Provider=vfpoledb.1;Data Source=C:\web\hg\datos\hg.dbc;Password=MyPassWord; Collating Sequence=machine"
Set rs = Server.CreateObject ("ADODB.RecordSet")
ahora cuando abro el rs:
RS.Open strSQL, oConn
me sale el siguiente error:

Microsoft OLE DB Provider for Visual FoxPro (0x80004005)
Operator/operand type mismatch.

Estoy consultado sobre un campo de tipo fecha y con formato de tipo fecha.
He hecho de todo y ha sido imposible.
ME podrias ayudar?
mi email es [email protected]
  #2 (permalink)  
Antiguo 28/04/2004, 03:27
 
Fecha de Ingreso: enero-2004
Mensajes: 396
Antigüedad: 21 años, 3 meses
Puntos: 0
hay un pequeña puntualizacion a lo que estas diciendo, que es lo que te provoca el error.

Estas actualzaindo un campo de tipo fecha de Foxpro, con un valor de tipo fecha de ASP. Esto no es lo mismo, ya que el principal problema que tienes es que cuando el valor valor_FECHA llega a la base de datos, llega como un String, lo cual te provoca el error.


Tienes que hacer que el valor que llega a la base de datos sea reconvertido de nuevo, pero por Foxpro, tiene que haber una funcion que lo haga , y ya veras como te evitas problemas.
  #3 (permalink)  
Antiguo 28/04/2004, 03:36
 
Fecha de Ingreso: febrero-2004
Mensajes: 8
Antigüedad: 21 años, 2 meses
Puntos: 0
Simplemente estoy haciendo una consulta (no inserto,elimino, o modifico nada) Fijate:

el valor fecha es el siguiente por ejemplo:
valor_fecha=cdate("01/01/2004") 'convertido a fecha por el cdate de asp


y ahora consulto en sql:
sSQL= "SELECT * FROM articulos WHERE FECHA>= '"&valor_FECHA&"' order by codigo "

y ahora abro la conexion:
RS.Open strSQL, oConn

aqui me da el problema

no entiendo nada!
  #4 (permalink)  
Antiguo 28/04/2004, 04:36
 
Fecha de Ingreso: abril-2004
Mensajes: 48
Antigüedad: 21 años
Puntos: 0
La verdad es que no se como usa FoxPro las bases de datos, pero supongo que debe tener una herramienta para efectuar consultas. Prueba si esa consulta sql que estas haciendo, con el formato de fecha que usas es correcta en FoxPro.

A mi me pasó con MySql y también con la fecha. Hacía una consulta correcta con una transformación de fecha pero resulta que el formato tenía que ser distinto. Asegurate.

De paso me gustaría hacerte una pregunta. ¿Es posible acceder vía SQL a un archivo .dbf? Creo que los dbf son los archivos que hacen las labores de indice de las dbase ¿es así? Es que tengo que acceder a un archivo dbf (que es lo único que tengo) para pasarlo a sqlserver, pero quiero hacerlo sin pasar por ningún programa intermedio, directamente por sql.
  #5 (permalink)  
Antiguo 28/04/2004, 08:28
 
Fecha de Ingreso: abril-2004
Ubicación: Quilpué
Mensajes: 26
Antigüedad: 21 años
Puntos: 0
te envié un correo con la respuesta, revísalo
__________________
[email protected]
  #6 (permalink)  
Antiguo 28/04/2004, 10:11
 
Fecha de Ingreso: febrero-2004
Mensajes: 8
Antigüedad: 21 años, 2 meses
Puntos: 0
ya lo resolví

las tablas de Visual foxpro en los campos de tipo fecha se deben convertir a campos de tipo texto e introducir el valor de la fecha
de esta forma replace fecha with(dtos(date())) por ejemplo
y queda almacenado de la siguiente manera: yyyymmdd entonces al hacer la consulta en asp me cree una rutina que convierte el valor de la fecha a este tipo: yymmdd
asi:
Function Fechayymmdd(fecha) 'CONVERTE LA FECHA EN FORMATO YYYYMMAA para comparar con el campo fecha de la tabla dbf en formato de tipo caracter convertida con la funcion "DTOS" de vfox
Dia = Day(fecha)
mes = Month(fecha)
anno = Year(fecha)
Fechayymmdd = anno&Right(Cstr(mes + 100),2) & Right(Cstr (dia + 100),2)
End If
End Function
  #7 (permalink)  
Antiguo 21/09/2005, 17:53
Avatar de hipopo  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 163
Antigüedad: 21 años, 1 mes
Puntos: 0
hola hixem, pero que hago si las fechas YA han sido registradas como dd/mm/aaaa????
__________________
Artek Digital
Desarrollo Web, Gráfica y Multimedia
Si quieres que las cosas te salgan bien entonces... HAZLAS TU MISMO!!!
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 02:13.