Formato columnas en dataobject

Tengo base de datos Access a la que accedo a través de PowerBuilder. Cuando creo un dataobject desde el painter, en su select meto columnas con la siguiente sintaxis: SELECT nombretabla.%columna1,... FROM nombreTabla;
El problema es que el painter no traga las columnas que comienzan con %. Y la meto entre corchetes, aparentemente traga pero al hacer el Update en powerscript me devuelve un -1 para este tipo de columnas. ¿Como debería definir la select desde el painter para no tener estos problemas con el Update?. Un saludo y muchas gracias. Jose

1 respuesta

Respuesta
Esto es un poco extraño,
power builder es un lenguaje de programación que posee un motor SQL, por ende las expresiones de este son casi todas iguales, independientemente de que base de datos se trate, esta expresión debería de ser totalmente igual.
En este caso el interprete en conexión con la base de datos debería de reformar todas las peticiones de sintaxis que se encuentran entre el lenguaje y la base de datos.
Podría recomendate por ejemplo, probar con, generar tu script antes desde la forma gráfica del datawindow, y luego convertirlo a sintaxis, para ver si este te devuelve un script distinto al que tu comentas en tu pregunta, y probar, normalmente esto no debería de dar problemas,
ten en cuenta que cuando insertes un script en el área del datawindow, este solo contenga una tabla, de no ser así, en el área de actualizaciones deberás seleccionar los campos que corresponden al update, y por supuesto la única tabla que deberá actualizar.
Todas esas pruebas ya las había hecho. Lo he solucionado creando, por cada tabla Access, una consulta de Access que encapsulase todas las columnas de la tabla (renombrando las que no traga el painter del Datawindow en PowerBuilder, p.e.: Descuento:%Descuento) y, desde el painter del DW, en vez de tomar la tabla directamente, tomar la consulta Access con los nuevos nombres (como si se tratara de una vista para el PowerBuilder). Gracias de todos modos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas