Error datawindows update

Tengo en mi base de datos una tabla llamada socios entre los campos de la tabla se encuentra el campo de tipo blob llamado foto (base datos oracle 9i) en mi ventana para registrar socios tengo 2 datawidows el dw_1 tiene los datos básicos del cosió y en el dw_2 están el resto de campos de la tabla como en el sql select no me permitió escoger el campo foto he logrado cargar y grabar la foto del socio con el objeto control picture y un botón "examinar" que es el que me permite cargar y guardar a la vez la foto
el momento que doy en el botón guardar para que se guarde los datos del dw_1 y dw_2
me sale el siguiente error "DATAWINDOW ERROR" datawindow does not have update capability.
Me imagino que el problema surge por el campo foto ya que con las otras tablas la botonera trabaja bien. He tratado de manadarle a grabar la foto desde el botón grabar y no funciona, tal vez me puedas ayudar como debería ir el botón guardar

1 respuesta

Respuesta
1
Observaciones:
* Cuando creas uno o dos datawindow con la tabla socio todos los campos se muestran menos el campo foto (por el tipo de dato definido en la tabla socio para el campo foto --> dependiendo de la base de datos que uses), lo que no significa que no lo halla creado, es decir el campo foto por mas que no se visualice en el datawindow si existe.
* Para poder grabar una foto en ORACLE el campo debe ser de tipo BLOD.
* Para grabar la foto en efecto se tiene que usar un control picture (otros lo haces con objectos ole) que captura la fotografia.
* Te recomiendo que definas dos tablas en tu base de datos uno para socio y otro para la foto, estos tienen que estar relacionados. Por ejemplo:
//Tabla Socio con sus campos
codigo_socio //clave primaria
nombres_socio
direccion_socio
telefono_socio
//Tabla Foto con sus campos
codigo_socio //clave foranea de socio
foto_socio //aqui se grabara la foto
* Con esto crearas dos datawindow una de socio y otro de foto (ojo para grabar la fotografia en un campo de tipo blod tiene un codigo especial).
* Parece que el error que sale al grabar los dos datawindow, es porque prentendes grabar dos datawindow creadas de un misma tabla, para hacer que esto sea posible tiene que unir estos dos datawindow con sharedate y luego grabar con update y commint. Mas o menos seria asi:
dw_1.ShareData(dw_2) //pasamos los datos del datawindow dw_1 al dw_2.
dw_2.update() //grabamos los datos a la tabla socio.
commint;
dw_2.ShareDataOff() //destruimos la union de datawindow.
*Ojo si sigue saliendo error es porque como dije arriba para grabar datos tipo blod a una base de datos tiene un codigo especial en powerbuilder para el tratamiento de tipo blod.
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas