Insertar date o datetime en dbf a través de vb 6.0

Estoy desarrollando un aplicativo en vb 6.0 y por necesidad tengo que leer y escribir datos de diferentes tablas .dbf (con ADO), pero me he topado con un problema que les describo a continuación:
Tengo una base .dbf la cual tiene un campo tipo datetime y a ese campo le tengo que escribir información que captiramos a través de dos cajas de texto, una para la fecha y otra para la hora, posteriormente los juntamos en una variable tipo string y asu vez trato de hacer lo siguiente pero de cualquier forma que lo intente me marca error de sintaxis o que las propiedades son invalidas para el objeto recordset.
He probado lo siguiente:
base_fox. Execute ("insert into tabla (entrada) values '01/01/1900 04:00:00' ")
base_fox.Execute ("insert into tabla (entrada) values '"& entrada &"' ")
base_fox.Execute ("insert into tabla (entrada) values #"& entrada &"# ")
base_fox.Execute ("insert into tabla (entrada) values {entrada}")
Y de igual forma no logro hacer funcionar este insert...
Si pueden echarme una mano se los agradeceré.

1 respuesta

Respuesta
1
En la sintaxis del insert no le estas indicando los campos de la tabla. Yo los hago así
"INSERT INTO nombreTabla ( campo1, campo2, campo3) values (" & dato1 & "," & dato2 & "," & dato3 & ")"
Buenos días. Primeramente gracias por la atención jclaveria
lo que ocurre es que las tablas .dbf hasta donde tengo entendido no las puedes manipular como me lo indicas.
Primeramente lo que hago es crear una conexión a la dbf con el siguiente código:

With base_fox.ConnectionString = "Driver={Microsoft Visual FoxPro driver};SourceType=DBF;SourceDB=" & spathbase4 & ";exclusive=no;Collate=Machine;NULL=NO;DELETED=YES;BACKGROUNDFETCH=YES"
.ConnectionTimeout = 10
.Open
End With 
Posterior mente trato de insertar los datos tipo fecha o datetime en la dbf con la siguientes instrucciones y no logro hacerlo funcionar

base_fox.Execute ("insert into tabla (entrada) values '01/01/1900 04:00:00' ")
base_fox.Execute ("insert into tabla (entrada) values '"& entrada &"' ")
base_fox.Execute ("insert into tabla (entrada) values #"& entrada &"# ")
base_fox.Execute ("insert into tabla (entrada) values {entrada}")
Saludos...
Si no lo tengo mal entendido, el metod execute ejecuta una instrucción sQL. Por lo tanto lo que tienes dentro de ----> base_fox. Execute ( no deja de ser un string que contiene una instrucción SQL. Dentro de la sintaxis SQL la instruccion insert into se maneja como te indico. Por lo menos en todos los programas de Visual contra base de datos los he tratado así y funcionan a la perfección...
Un sld

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas