Power Builder - No me graba datawindow, dudas

   
Vista:

No me graba datawindow, dudas

Publicado por TuxMerlin (9 intervenciones) el 27/01/2009 00:03:47
Tengo una ventana llamada w_fichacliente con 5 datawindows repartidos en 5 tabs.
Los 5 datawindows apuntan a la misma tabla, es decir, separé los campos de la tabla "clientes" en 5 partes y cada una de ellas las puse en cada tab.
Los 5 datawindows los llamo en el evento open de w_fichacliente, nombrándolos a cada uno con su identificador y con settransobject(sqlca) y con retrieve(). Hasta ahí todo bien, me trae los datos perfecto.

Cuando utilizo el botón "Modificar" habilito los 5 datawindows para modificaciones con enabled y settaborder.... Luego de cada ingreso, en itemchaged() valido cada uno de los datos... todo esto sucede sin incovenientes...
Dejo que el usuario se cambie sin problemas por cada tab y cambie lo que quiera.

Cuando le doy grabar verifico que en cada uno haya sucedido el update() y si es así haga commit...
Y aqui vienen los dramas, es decir, detecta el update() supongamos del tab1 y hace el commit pero no me graba nada ni tira un mensaje de error y cuando salgo y entro a la ventana nuevamente están los datos originales.

En qué estoy fallando?

Desde ya gracias.
p/d: Utilizo PB 11.5 y MySQL 5
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:No me graba datawindow, dudas

Publicado por wend (95 intervenciones) el 27/01/2009 13:20:26
Talvez el método ShareData() te pueda servir para lo que estas haciendo.
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:No me graba datawindow, dudas

Publicado por TuxMerlin (9 intervenciones) el 27/01/2009 14:11:39
Gracias Wend pero ya lo solucioné...
Era fácil, me estaba ahogando en un baso de agua... les paso la data:
1) Poner en los select de cada datawindow el campo primary key (sin mostrarlo obvio)
2) Corregir las "Updates properties" del menú de Powerbuilder o fijarse si están todos los campos habilitados (menos el que es primary key porque en mi caso es autoincrement)
2) Colocar antes del commit el update del datawindow, algo como: tab1.dw_clie.update()

La cuestión viene dada porque Powerbuilder proteje los datawindows que no incorporan como campo la primary key y deshabilita todo y no se puede hacer ni update, ni insert, ni delete ni nada.

Tengan en cuenta esto (que no se puede modificar) porque es un dato interesante.

Saludos!
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:No me graba datawindow, dudas

Publicado por roger (2 intervenciones) el 04/11/2009 21:14:35
los dw se usan de dos formas, 1.- para insertar o modificar datos de una tabla, el dw es uno solo y enlaza todos los campos, 2.- recuperar datos el dw puede contener algunos o todos los campos de una tabla o varias tablas enlazadas... el primero tiene capacidada deactualizacion .
pero deja de funcionar si posterior crear el dw, modificas la tabla...debiendo volver a crear el dw
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