FoxPro/Visual FoxPro - Añadir a una base SQL

 
Vista:

Añadir a una base SQL

Publicado por antonio gomez (36 intervenciones) el 28/08/2008 15:51:51
Hola a todos,

Mi pregunta es la siguiente, yo tengo un archivo tabla.dbf en mi disco duro, que tiene la misma estructura que una tabla en SQL, y quiero subir todo el contenido del .dbf a la tabla, como lo puedo lograr mediante una instrucción en SQL, como INSERT. Ahora lo hago abriendo el .dbf y recorriendo cada registro de el y subir de uno en uno a la tabla en SQL con un (do while .not. eof()).

Otro punto, me he dado cuenta q en algunos campos, el valor que puede tener es NULO, y al momento de subirlo a la tabla, marca error, ya que el campo es de tipo fecha u otro, cuando lo subo en forma manual lo valido, pero con la instrucción INSERT, no se como realizar estas validaciones.

Les agradesco de antemano su pronta respuesta

gracias..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Añadir a una base SQL

Publicado por IVAN (6 intervenciones) el 31/08/2008 17:33:45
Hola Antonio buenos dias.

Te envio este codigo..espero te sirva

SELECT items
SCAN
SET TEXTMERGE ON
TEXT TO myvar NOSHOW
INSERT INTO items (do,conse,posi_aran,valor_fob)
values (<<"'"+items.do+"'">>,
<<"'"+STR(items.conse,4,0)+"'">>,
<<"'"+items.posi_aran+"'">>,
<<"'"+STR(items.valor_fob,12,2)+"'">>)
ENDTEXT
cmd = SQLEXEC(lnHandle,myvar)
IF cmd>0
ELSE
MESSAGEBOX("No se grabo la informacion en items","Error")
ENDIF
ENDSCAN

Recorre la tabla items local y la inserta en la de SQL

Ivan
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Añadir a una base SQL

Publicado por jose camilo (805 intervenciones) el 11/10/2008 21:59:40
reciente mente hice lo mismo

mira esto
Do While !Eof()
WAIT WIND "Transfiriendo los Articulo :"+almacen NoWait
A1=Alltrim(Almacen)
A2=Iif(!Empty(JJSucursal),Alltrim(JJSucursal),Alltrim(Sucursal))
A3=Alltrim(Detalle)
A4=Alltrim(Usuario)
A5="A"
If SQLEXEC(JJSystem2009,"INSERT INTO Almacen (almacen,sucursal,detalle,usuario,status) VALUES (?A1,?A2,?A3,?A4,?A5)")<=0
MessageBox('Error al Conectar a la Base de Datos de Trabajo [ALMACEN - ARTICULO]',16,'JJ-System')
Return
EndIf
Select ALMACEN
Skip
EndDo

en lo relacion a la fecha

A11=Iif(Empty(FVence),Date(),FVence)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar