FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Recuperar el valor de Returning
Buenas, tengo lo siguiente:
Hasta aquí todo bien, resulta que quiero recuperar el valor que viene en Returning y no se como hacerlo. ¿Alguna sugerencia? Uso Delphi 7, Firebird 2.1, MDO version 0.8.8. Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. Última edición por santiago14 fecha: 01-09-2010 a las 20:14:26. Razón: Errores en el código |
#2
|
||||
|
||||
Esto dice en la página 49 de Firebird 2.1 Release Notes
Rules for Using a RETURNING Clause ... 2 - The presence of the RETURNING clause causes an INSERT statement to be described by the API as isc_info_sql_stmt_exec_procedure rather than isc_info_sql_stmt_insert. Existing connectivity drivers should already be capable of supporting this feature without special alterations. Creo entender que los componentes que estamos usando deberían de alguna manera capturar el dato que viene en Returning sin demasiado problema... la pregunta es como. Bueno, espero que aporte algo esto. Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#3
|
||||
|
||||
procedure insert_con_returning(query:TMDOQuery);
Código:
var tVardelTipodelField: tipo; begin with query do begin Close; sql.Clear; SQL.Add('Insert into familias (cod_familia, fecha_ingreso_familia, estado_familia) '); sql.Add('Select gen_id(Select ibe$log, 1), current_timestamp, '); sql.Add('''A'' From rdb$database '); sql.Add('returning cod_familia '); try ExecSQL; Código:
tVardelTipodelField := FieldbyName('cod_familia').as....; raise; end; end; end;
__________________
online |
#4
|
||||
|
||||
Hola Combat
Al hacer lo que sugieres me sale el siguiente error: query: Field 'cod_familia' not found
__________________
Uno es responsable de lo que hace y de lo que omite hacer. Última edición por santiago14 fecha: 02-09-2010 a las 16:03:49. Razón: Errores de ortografía |
#5
|
|||
|
|||
bueno y si en lugar de execsql se usa open?
|
#6
|
||||
|
||||
Usando Open me dice lo mismo: query: Field 'cod_familia' not found.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Funcionamiento de la Clausula Returning | Ricardojosep | Firebird e Interbase | 4 | 01-02-2010 01:14:01 |
ClientDataSet y returning de Firebird | jconnor82 | Firebird e Interbase | 0 | 10-11-2009 03:20:47 |
Recuperar un valor de una tabla | Pollo2004 | Varios | 3 | 10-10-2008 13:40:50 |
Como recuperar el valor de una variable en un ciclo... | Arturo | Varios | 2 | 10-11-2006 18:33:52 |
¿Como recuperar un valor de un campo autoincrementable? | SyncMaster | Firebird e Interbase | 3 | 11-05-2004 08:08:04 |
|