¿Cómo realizo esto en power builder?

Saludos..
Estoy empezando a emplear power builder en la version 9 y tengo varias dudas las cuales espero puedas ayudarme:
1. Tengo una tabla llamada Articulo la cual posee un campo artcodi, este campo es texto de 7 dígitos y deseo que el código se genera automáticamente, para lo cual deseo leer cuantos registros tiene dicha tabla; esto lo puedo realizar mediante la consulta: select max(artcodi) from articulo, desde el empleo de cursores, creo no estoy bien seguro, si es así como logro capturar este código (porque la consulta me arrojara solamente un resultado) para poder emplearlo y generar el código del articulo correspondiente.
2. Como puedo ejecutar una consulta SQL para agregar, eliminar, actualizar registro de una tabla. Por favor ejemplos
3. Como hago para que cuando se presione enter el cursor se dirija al siguiente objeto (q puede ser una caja de texto u otros) y no emplear la tecla tab...
Bueno por ahora tengo estas dudas espero puedas ayudarme
Muchas gracias
Respuesta
1
1. Lo primero es que crear una variable para almacenar el consecutivo, así:
String ls_artcodi
SELECT MAX(artcodi)
INTO :ls_artcodi
FROM articulo
USING SQLCA;
SQLCA puede ser reemplazado por el objeto con que estés manjenado la conexión a la base de datos, por lo general es SQLCA, pero tu puedes crear otros objetos para conectarte a una o más bases de datos.
Si no colocas el USING Power Builder toma por defecto el SQLCA. Siempre debes finalizar la sentencia SQL con (;)
2. En Power Builder, lo mejor es utilizar las posibilidades que brindan los datawindows, estos tienen la capacidad de realizar las tres operaciones (Borrado, Modificación e Inserción) con una solo sentencia.
Esta sentencia es:
dw_tudw.update()
Chequea la ayuda para que tengas una mayor información acerca de esta senctencia.
También lo puedes hacer directamente con las sentencias UPDATE, DELETE e INSERT. No hay ningpun problema, lo que pasa es que probablemente tengas que hacer más trabajo.
Para borrar una línea de una datawindow usa la sentencia:
dw_tudw. DeleteRow(fila), luego puedes usar la sentencia:
de_tudw. update() para que se guarden los cambios en la Base de Datos.
3.Para pasar a otro campo con enter trata con lo siguiente:
Debes crear un evento asociado al eventID pbm_dwnprocessenter, este evento debe ser creado en cada control que necesites, caja de texto, etc.
Si utilizas una datawindow solo lo debes crear en la datawindow y ya, mucho más simple.
Puedes nombrar el evento como pressenter y solo debes colocar el siguiente código:
Send(Handle(this), 256, 9, Long(0,0))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas