Introducir desde VFP a MySQL

29/11/2004 - 11:58 por samuel | Informe spam
Estoy realizando una aplicacion en VFP sobre una base de
datos en MySQL, probé la insercion de datos mediante el
INSERT, pero al hacer referencia a una tabla DBF me
complica el asunto pq las tablas creadas por MySQL no son
extension DBF, como podría hacerlo,GRACIAS

P.D. También si no fuese mucha molestia me podríais
indicar que método puede utilizar para modificar un
registro?Estoy utilizando el UPDATE pero no me confirma
los cambios en la tabla

Una vez más GRACIAS

Preguntas similare

Leer las respuestas

#1 Alex Feldstein
29/11/2004 - 12:47 | Informe spam
On Mon, 29 Nov 2004 02:58:59 -0800, "samuel"
wrote:

Estoy realizando una aplicacion en VFP sobre una base de
datos en MySQL, probé la insercion de datos mediante el
INSERT, pero al hacer referencia a una tabla DBF me
complica el asunto pq las tablas creadas por MySQL no son
extension DBF, como podría hacerlo,GRACIAS




Léete el capítulo de Client/Server en la ayuda.

Lee en el Help sobre CursorAdapter, SQL PassThrough y Vistas Remotas.
Específicamente las funciones de SPT:
SQLConnect()
SQLStringConnect()
SQLExec()
SQLDisconnect()

http://www.portalfox.com/article.php?sid7

http://www.portalfox.com/article.php?sid51

http://www.portalfox.com/article.php?sid—0

http://www.portalfox.com/modules.ph...amp;artid%

También puedes consultar en MSDN, UT y en el Wiki de Fox:
http://fox.wikis.com/wc.dll?Wiki~CategoryClient/Server
http://fox.wikis.com/wc.dll?Wiki~ProgrammaticallyCreatingDSNs~VFP
http://msdn.microsoft.com/vfoxpro/t...server.asp

Para empezar también te recomiendo el libro "Client-Server
Applications With Visual FoxPro":
http://fox.wikis.com/wc.dll?Wiki~Client-ServerApplicationsWithVisualFoxPro6andSQLServer7

"Migrating your VFP Application to a SQL Server platform"
By Dan LeClair - EPS Software
http://www.eps-cs.com/pdf/whitepaper_migrating.pdf



P.D. También si no fuese mucha molestia me podríais
indicar que método puede utilizar para modificar un
registro?Estoy utilizando el UPDATE pero no me confirma
los cambios en la tabla



Cómo lo utilizas? Si es a DBF, un simple UPDATE SQL funciona, o puedes
usar REPLACE.

Si es para MySQL, mira el manual por la sintaxis de UPDATE SET



Alex Feldstein
________________________________
Microsoft Visual FoxPro MVP
Please respond in the public groups so that everybody
can benefit from the exchange.
Favor de responder en los foros públicos asi todos se benefician.
(address munged with ROT-13)

Blog: http://www.bloglines.com/blog/AlexFeldstein
Website: http://feldstein.net
Respuesta Responder a este mensaje
#2 Anonimo
30/11/2004 - 13:11 | Informe spam
De acuerdo, entiendo q me indicas como realizar una
coneión pero es que yo la conexión ya la tengo realizada.
Lo que no consigo es almacenar o insertar datos en la
base de datos de MySQL. Utilizo un INSERT y para
modificar un UPDATE SET, pero me dice que hay cambios
realizados en la vista que no se han confirmado, que
puedo hacer? GRACIAS
Respuesta Responder a este mensaje
#3 Alex Feldstein
30/11/2004 - 23:04 | Informe spam
On Tue, 30 Nov 2004 04:11:18 -0800,
wrote:

De acuerdo, entiendo q me indicas como realizar una
coneión pero es que yo la conexión ya la tengo realizada.
Lo que no consigo es almacenar o insertar datos en la
base de datos de MySQL. Utilizo un INSERT y para
modificar un UPDATE SET, pero me dice que hay cambios
realizados en la vista que no se han confirmado, que
puedo hacer? GRACIAS



Usas buffering? Cuál modo?

Usas
KeyFieldList
UpdatableFieldList
SendUpdates
etc.?

Ver:
TableUpdate()
Cursorgetprop()
CursorsetProp()


Si usas Renmote views ver en la ayuda:
"How to: Update a Table in a View"
Update Criteria tab
Send SQL updates


Alex Feldstein
________________________________
Microsoft Visual FoxPro MVP
Please respond in the public groups so that everybody
can benefit from the exchange.
Favor de responder en los foros públicos asi todos se benefician.
(address munged with ROT-13)

Blog: http://www.bloglines.com/blog/AlexFeldstein
Website: http://feldstein.net
Respuesta Responder a este mensaje
#4 samuel
02/12/2004 - 18:18 | Informe spam
He intentado insertar por SPT y también he utilizado un
cursor actualizable(que abajo muestro)y el resultado que
obtengo es el mismo:"El buffer de las tablas para el
alias 'vcdu' contienen cambios no confirmados"

PUBLIC m.lError
m.lError=.F.
on error do SYS(2003)+"\prg\mierror" with error(), message
(), program(), lineno()
gnvc=sqlconnect("mysql_vitruvio","root")
if gnvc<=0
=messagebox("No se puede conectar",16,"Error de
conexion MySQL")
ELSE
=Messagebox("Conexión realizada",64,"Conexión")
ENDIF

=SQLEXEC(gnvc,"SELECT * FROM CDU",'vcdu')
CrearCursorActualizable('vcdu','cdu','cod_cdu')

INSERT INTO 'vcdu'(Cod_cdu,descripcion)VALUES
("32.23.32","COSITAS")

=TABLEUPDATE(1,.T.,'vcdu')

=SQLEXEC(gnvc,"SELECT * FROM CDU",'vcdu')

FUNCTION CrearCursorActualizable
LPARAMETERS tcAlias, tcTabla, tcKeyList
LOCAL llRetorno, i, lcCampos, lcCamposUp
LOCAL ARRAY laEstruct(1)

m.tcAlias = IIF(EMPTY(m.tcAlias), "", ALLTRIM(TRANSFORM
(m.tcAlias)))
m.llRetorno = !EMPTY(m.tcAlias) AND USED(m.tcAlias)
IF !m.llRetorno
MESSAGEBOX("")
RETURN .F.
ENDIF
m.tcTabla = IIF(EMPTY(m.tcTabla), "", ALLTRIM(TRANSFORM
(m.tcTabla)))
m.tcKeyList = IIF(EMPTY(m.tcKeyList), "", ALLTRIM
(TRANSFORM(m.tcKeyList)))

m.llRetorno = m.llRetorno AND CURSORSETPROP
("Buffering", 5)
m.llRetorno = m.llRetorno AND CURSORSETPROP
("SendUpdates", .T.)
m.llRetorno = m.llRetorno AND CURSORSETPROP
("CompareMemo", .F.)
m.llRetorno = m.llRetorno AND CURSORSETPROP
("FetchAsNeeded" ,.T.)
m.llRetorno = m.llRetorno AND CURSORSETPROP
("UpdateType" ,1)
m.llRetorno = m.llRetorno AND CURSORSETPROP
("Tables" , "Tasa." + m.tcTabla)
m.llRetorno = m.llRetorno AND CURSORSETPROP
("WhereType",1)

IF m.llRetorno
STORE "" TO m.lcCampos, m.lcCamposUp
FOR m.i = 1 TO AFIELDS(m.laEstruct, m.tcAlias)
m.lcCampos = m.lcCampos - m.laEstruct(m.i, 1) - ","
m.lcCamposUp = m.lcCamposUp - m.laEstruct(m.i, 1)
+ " TASA." - ;
m.tcTabla - "." - m.laEstruct(m.i, 1) - ","
ENDFOR
m.lcCampos = LEFT(m.lcCampos, LEN(m.lcCampos) - 1)
m.lcCamposUp = LEFT(m.lcCamposUp, LEN(m.lcCamposUp) -
1)
ENDIF
MESSAGEBOX(m.lccampos)
m.llRetorno = m.llRetorno AND CURSORSETPROP
("UpdatableFieldList", m.lcCampos)
m.llRetorno = m.llRetorno AND CURSORSETPROP
("UpdateNameList", m.lcCamposUp)
IF EMPTY(m.tcKeyList)
m.llRetorno = m.llRetorno AND CURSORSETPROP
("WhereType",3)
ELSE
m.llRetorno = m.llRetorno AND CURSORSETPROP
("KeyFieldList", m.tcKeyList)
ENDIF

IF m.lError && Control de Error
m.llRetorno = .F.
m.lError = .F.
ENDIF
RETURN m.llRetorno
ENDFUNC


Estoy utilizando apache phpmyadmin y VFP8.Necesito ayuda
porfavor.GRACIAS
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida