FoxPro/Visual FoxPro - DESDE VFP 6.0 a SQL 7.eliminar reg. y copiar tabla

 
Vista:

DESDE VFP 6.0 a SQL 7.eliminar reg. y copiar tabla

Publicado por PEDRO (1 intervención) el 05/12/2005 18:53:32
Hola amigos
Necesito ayuda en SQL SERVER 7.0 desde VFP6.0
1. Para eliminar registro de una tabla , realizo lo siguiente:

en un prg tengo las siguientes instrucciones
****************************** Realizo la conexion al servidor de SQL
Local xconexion,xejecutar
xconexion = Sqlstringconnect("Driver={SQL Server};Server=cotopaxi;Database=encerada;Uid=sa;Pwd=sa;")
***************************** Selecciono la tabla y la pongo en un cursor
xejecutar = "SELECT * from intuphy"
sqlexec(xconexion,"use midatabase;")
If sqlexec(xconexion,xejecutar ,"_MyCursor") = 0
Messagebox("No se pudo establecer la conexion",0+64,"Alerta")
Return
Endif
brow &&******* para revisar el cursor y se despliega correctamente, funciona OK

Ahora quiero borrar un registro o todos los registros de la tabla, asi que:

***** PARA BORRAR todos los reg de la tabla
xcejecutar = "DELETE * FROM intuphy ' "
sqlexec(xconexion,xejecutar,"_Mycursor")
**************** ó Para borrar un registro especifico
xejecutar = "DELETE * FROM Intuphy WHERE In5za = 'PDMV ' "
sqlexec(xconexion,xejecutar,"_Mycursor")

Pero la tabla despues de esto continua igual, sin ninguna modificacion y he verificado que la condicion si se cumple. En que esta el error?
*****************************************************
2. Me gustaria saber como copio una tabla de una base de datos a otra base diferente pero en el mismo servidor, he probado con:

* SELECT TOP * INTO arch.destino FROM arch.origen

ORIGEN: "bv2005" base de datos " intuphy" mi tabla
DESTINO: "gu2006" base de datos "intuphy" mi tabla

pero no me funciona.
Arch. Origen:
como debo especificar el path del arch de origen ? mibase.dbo.mitabla?
Debe estar en uso o no?
Arch. destino :
debe estar abierto con un select?
Se debe especificar el path y como ?
ya debe existir o es creado?
******************************************************
Gracias a Todos
*****************************************************
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:DESDE VFP 6.0 a SQL 7.eliminar reg. y copiar ta

Publicado por Antonio (207 intervenciones) el 06/12/2005 14:10:18
Saludos Pedro,

Fijate, en SQL, para borrar uno o varios registros, yo l hago de la siguiente manera:

Lo primero es que tienes que tener cuidado, con la creación de las tablas en SQL, si le creas una llave primaria. Lo que hago yo en mis tablas en SQL es que les creo una columna que se llame ID y a esta le pongo que sea de tipo Int, y en las propiedades le pongo que sea incrementable el ID.

Seria mi llave primaria, esto para que cada registro sea diferente.

Luego desde VF puedo hacer lo siguiente:

Nunca elimino desde el VF, o sea no en modo VF, si no lo ejecuto desde VF lo que quiero eliminar en SQL, mira asi.

Creo un store procedure en SQL..

es Facil no tengas miedo en hacerlo:

Mi Tabla se llama asi: tempingrdeduc,
Mi store procedure se llama asi: sp_Deltabla_tempingrdeducT

Todo esto, es en SQl que lo tienes esto de aui abajo el SP, ok.

CREATE PROCEDURE sp_Deltabla_tempingrdeducT

As

Delete from tempingrdeduc
GO

Luego desde VF, despues que tienes tu coneccion creada que se llama asi como la tienes aya arriba : xconexion

Puedes ejecutar esto:
mira hasta desde el punto comand lo puedes hacer,

SQLEXEC(xconexion, "EXEC sp_Deltabla_tempingrdeducT")

Los store procedures, son la mejores formas de hacer cualquier procedimiento, mira te puedo decir que son mas rapido, es mas yo no programaen VF, los select pesados, los hago a nivel de sp y luego los ejecuto desde VF.
Tu peudes enviar tambien variables al SP, por ejemplo si quieres borrar solo cuando se cumpla una fecha en espesifico, mira esto

FechaPeriodo11= 31/05/2005

SQLEXEC(lnConexion, "EXEC sp_Deltabla_cxccomedor ?FechaPeriodo11")

y el SP. es el siguiente:

CREATE PROCEDURE sp_Deltabla_cxccomedor
@FECHA char(10)

As

DELETE FROM cxccomedor WHERE FECHA = @FECHA
GO

Espero que te funciones, si es asi, por facor no dejes de contestarme

Antonio R. Moquete Mejia
Santo Domingo Rep. Dom.
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:DESDE VFP 6.0 a SQL 7.eliminar reg. y copiar ta

Publicado por Antonio (207 intervenciones) el 06/12/2005 14:21:11
Upsss, se me olvida, lo del copiado de las tablas, mira es facil, tienes un problema de PTH, pero ya te lo soluciono.

MIra


SET PATH TO PROGS, FORMAS, CLASES, MENU, DATAS, FOTOS, REPORTES, TEMP, TXT, curmouse, sonidos, ifi,;
\\srvbws01\RN\DATA,;
\\srvbws01\VABM\graficos

El servidor mio se llama asi:
\\srvbws01

Ahora dentro del proyecto mio tengo estos folders:

PROGS, FORMAS, CLASES, MENU, DATAS, FOTOS, REPORTES, TEMP, TXT, curmouse, sonidos, ifi

Pero Fuera del proyecto tengo otras aplicaciones en otros proyectos, pero dentro del mismo servidor

por Ej
\\srvbws01\RN\DATA

Dentro de esta carpeta en ese proyecto tengo una tabla que es identica a otra que tengo en el proyecto raiz

lo unico que hago es lo siguiente:
primero en el MAIN del proyecto o programa principal cargo mis PATH

SET PATH TO PROGS, FORMAS, CLASES, MENU, DATAS, FOTOS, REPORTES, TEMP, TXT, curmouse, sonidos, ifi,;
\\srvbws01\RN\DATA,;
\\srvbws01\VABM\graficos

y luego al momento de necesitar una de las tablas que estan en otro lado pues hago lo siguiente;

IF !USED('COMEDOR')
USE \\srvbws01\RN\DATA\COMEDOR SHARED IN 0
ENDIF
SELECT COMEDOR

y ya esta

si quietes luego le puedes decir como quieras a las tablas ya la tines en uso.

Creo que con esto queda resuelto el problemita que tenias con el PATH

Era eso nada mas

OK

PD:
El costo de esto es una botella de JW etiqueta Azul, aajajajajjajaa es broma, nada mira esto funciona, espero que me entiendas, y contestame si es o no .

ATT.
Antonio R. Moquete Mejia
Santo Domingo Rep. Dom.
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:DESDE VFP 6.0 a SQL 7.eliminar reg. y copiar ta

Publicado por PEDRO MERCADO (2 intervenciones) el 22/12/2005 17:09:14
CON RESPECTO A TU PREGUNTA ES DE PROBAR LAS SIGUIENTES INSTRUCCIONES COMMIT; ES DE BUSCAR LOS COMANDOS DE COMO SE EJECUTA EL COMMIT EN VFP LEE UN POCO DE ESO OK
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