Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Informix-ADO: Acceso al registro SQLCA (https://www.clubdelphi.com/foros/showthread.php?t=23392)

fvarela 15-07-2005 10:44:56

Informix-ADO: Acceso al registro SQLCA
 
Hola
Estoy buscando la forma de acceder al registro SQLCA (propio de Informix) desde una conexión TADOConnection.

Mi entorno es el siguiente
Delphi 6
Informix 7.2 SE sobre OpenServer
ADO (usando el Informix-SDK)

Hasta ahora, y hasta el nivel de utilización que le doy al Informix, todas las operaciones sobre la BBDD funcionan a la perfección pero tengo que insertar registros en tablas con campos de tipo SERIAL.
Desde 4GL, normalmente luego de la insercion, el valor de SQLCA.SQLERRD[2] luego del INSERT.
Usando ADO... ¿como se accede a este valor?

fvarela 15-07-2005 13:37:29

---no hay nada mejor que responderse a uno mismo
 
Hola

Encontré una forma, no es la mas elegante pero sirve.

Usando la funcion DBINFO de SQL se puede consultar algunos campos de este registro.

Por ejemplo, una tabla con un campo de tipo serial:

create table prueba (
campo serial,
dato char(20)
);


En Delphi, siendo Q un TADOQuery por ejemplo:

Q.SQL.Text := 'insert into prueba(dato) values ("Prueba")';
Q.ExecSQL;

e inmediatamente

Q.SQL.Text := 'select dbinfo("sqlca.sqlerrd1") from systables where tabid=1';
Q.Open;
serial := Q.Fields[0].Value;
...

La documentación acerca de la funcion SQL 'dbinfo' está en los manuales de Informix: Guide to SQL Syntax manual.

Saludos


La franja horaria es GMT +2. Ahora son las 02:56:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi