Problema con el UPDATE de Postgres con VFP9, por qué no funciona...

201 views
Skip to first unread message

eap pupo

unread,
Dec 20, 2012, 11:26:42 AM12/20/12
to publice...@googlegroups.com
Hola a toda la Comunidad!

Necesito de ayuda, tengo esta linea de código que no me coge un cambio que hago en combox y lo lleva a la tabla original, me pudieran decir porque este problema de no actualización, aquí va:

sqlexec(cHandle,"Update PLANTILLA set espec = cExistccosto.espec where plantilla.tarje = cExesteDB.tarje")

No da error pero no actualiza la tabla plantilla.

Saludos a todos!

Pupo



Mauricio R. Molinero

unread,
Dec 20, 2012, 11:32:34 AM12/20/12
to publice...@googlegroups.com
Probaste..

sqlexec(cHandle,"Update PLANTILLA set espec = ?cExistccosto.espec where plantilla.tarje = ?cExesteDB.tarje")

o mejor aun TEXT...ENDTEXT con TEXTMERGE.

text to lcExec noshow textmerge pretext 11

Update PLANTILLA set espec = <<cExistccosto.espec>> where plantilla.tarje = <<cExesteDB.tarje>>

endtext


Es mas comodo cuando son consultas largas de escribir.


Saludos!

Mauricio R. Molinero,

Fox Learner

unread,
Dec 20, 2012, 11:32:52 AM12/20/12
to publice...@googlegroups.com
Ya probó correr la sentencia desde el mismo motor ? ..


Saludos!

Fox Learner

unread,
Dec 20, 2012, 11:41:10 AM12/20/12
to publice...@googlegroups.com

Víctor Hugo Espínola Domínguez

unread,
Dec 20, 2012, 11:45:04 AM12/20/12
to publicesvfoxpro
Hola eap pupo

Pruba esto:

lcEspec = cExistccosto.espec
lcTarje = cExesteDB.tarje
sqlexec( cHandle,"Update PLANTILLA set espec = ?lcEspec where plantilla.tarje = ?lcTarje" )

Saludos.
Víctor.

eap pupo

unread,
Dec 20, 2012, 2:23:37 PM12/20/12
to publice...@googlegroups.com
Mil gracias!

Pero no resultó de ninguna manera, al final lo probé así como me describió:


text to lcExec noshow textmerge pretext 11

Update PLANTILLA set espec = <<cExistccosto.espec>> where plantilla.tarje = <<cExesteDB.tarje>>

If SqlExec(cHandle,lcExec)<0
=Aerror(lError)
messagebo(lError(2))
EndIf

SQLEXEC(cHandle,lcExec)
endtext

Pero hay un detalle que a lo mejor debí explicarle.

Yo muestro la información en un listbox y hago cambio de un combox para que actualiza a la tabla que está en el listbox, esto es Postgres con VFP9.

Dime si tiene otra idea.

Se le agradece cualquier critica o idea nueva.

Saludos

Pupo

Fox Learner

unread,
Dec 20, 2012, 2:34:52 PM12/20/12
to publice...@googlegroups.com
Solo por curiosidad...

Tiene ya instalado el driver ODBC para PostgreSql ? ...

Ya verificó en el panel de control que el servicio de PostGreSql no esté detenido ?...

Saludos!

eap pupo

unread,
Dec 20, 2012, 2:37:25 PM12/20/12
to publice...@googlegroups.com
Muchas gracias!

No funcionó Victor.

Le envio una foto adjunto de como lo tengo para ver si le ocurre algo nuevo.

Además parte del código que está en el Frm esto es VFP9 con Postgres.

SQLEXEC(cHandle, "select * from plantilla ", "cExesteDB")


IF SQLEXEC(cHandle, "select * from plantilla", "cExesteDB") <0
=Aerror(lError)
messagebo(lError(2))
EndIf

SQLEXEC(cHandle, "select * from areas", "cExistareas")


SQLEXEC(cHandle, "select * from brigada", "cBrigada")

SQLEXEC(cHandle, "select espec,nomb_esp from ccosto", "cExistccosto")


WITH Thisform
   
    WITH .Combo1
        .ColumnCount = 2
        .ControlSource = "cExesteDB.coarea" && Areas
        .BoundColumn = 2
        .RowSourceType = 3 && SELECT
         .RowSource = "SELECT nomb_area, coarea FROM cExistareas ORDER BY nomb_area INTO Cursor cDptoX"
        .Format = "K"
        .Style = 2 && Lista Desplegable
    ENDWITH
    *
    .Refresh()
ENDWITH

*WITH Thisform
       
    *WITH .Combo2
    *    .ColumnCount = 2
    *    .ControlSource = "cExesteDB.espec" && desde quincena el campo ccosto=espec
    *    .BoundColumn = 2
    *    .RowSourceType = 3 && SELECT
     *    .RowSource = "SELECT Nomb_esp, espec FROM cExistccosto ORDER BY Nomb_esp INTO Cursor c1DptX"
    *    .Format = "K"
    *    .Style = 2 && Lista Desplegable
    *ENDWITH
    *
    *.Refresh()
    *ENDWITH


thisform.list1.columncount=2
thisform.list1.rowsourcetype=6
thisform.list1.rowsource="cExesteDB.tarje,nombre"

thisform.combo3.columncount=2
thisform.combo3.rowsourcetype=6
thisform.combo3.rowsource="cExistccosto.Nomb_esp,espec"
EjemploUPDATE.PNG

eap pupo

unread,
Dec 20, 2012, 2:46:15 PM12/20/12
to publice...@googlegroups.com
Gracias por ayudar!

El postgres me parece que si está todo bien, pues sino no mostrará los datos de una tabla por el listbox y combos.
Además yo lo hice por el editor pero una cosa es por allá y otra desde un formulario donde ya tengo 3 tablas trabajando.

Dime algo, cualquier idea aunque aparezca absurda se acepta, de ahí salen grandes ideas mas yo empiezo ahora y no se casi nada de
Postgres solo conozco el VFP9 con tablas nativas y si tengo algo hecho y esta bien.
Te adjunto para que tengas idea que es algo pequeño para luego empezar agregarle cosas hasta llegar como lo tengo con tablas nativas de VFP.
Muchas gracias y espero de su ayuda.

Saludos

Pupo
EjemploUPDATE.PNG

eap pupo

unread,
Dec 20, 2012, 4:09:57 PM12/20/12
to publice...@googlegroups.com

No funcionó Mauricio, y lo probé desde el motor de BD y esta bien pero con ningunas de las respuesta que me enviaron funcionó, tiene otra idea la espero.
Gracias a todos!

Saludos

Pupo

El jueves, 20 de diciembre de 2012 08:26:42 UTC-8, eap pupo escribió:

eap pupo

unread,
Dec 20, 2012, 4:12:34 PM12/20/12
to publice...@googlegroups.com
Gracias Amigo pero no funcionó, si tienes otra idea me la envias a: eap...@gmail.com
Lo probé en el mismo motor de BD todo bien, pero en lo otro no.

Saludos

Pupo

Luis Mata

unread,
Dec 20, 2012, 4:17:25 PM12/20/12
to publice...@googlegroups.com
cambia las comillas: `´ ‘' ““  con cualquiera de estas 3 comillas.
--
 
 

Jesus Aceves

unread,
Dec 20, 2012, 7:47:48 PM12/20/12
to publice...@googlegroups.com
No le hara falta SQLCOMMIT(cHandle), digo por las dudas.
 
Saludos.
Reply all
Reply to author
Forward
0 new messages