Ver Mensaje Individual
  #1  
Antiguo 01-02-2010
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Reputación: 18
mjjj Va por buen camino
TIBDataset + Firebird

hola gente del foro, tengo un problemita con TIBDataset.
Utilizo Delphi 2006, Firebird 2.0 y los componentes de la paleta de Interbase.

Utilizo un IBDataset para insertar un registro, so se efectua perfectamente, es decir se observa en el grid asociado al Dataset.

Íncluso puedo insertar varios registros, y todos ellos se observan en el grid, el problema es que después me interesa confirmar estos cambios en la BD realizando un commit.

Luego de esto consulto por los registros insertados, y estos no estan por ninguna parte.

Agrego el codigo que utilizo

Código Delphi [-]
var n: integer;
if ibdataset1.Active = false then
IBDATASET1.Open;
 
ibdataset1.last;
n := ibdataset1.FieldByName('ncorr').AsInteger;
 
ibdataset1.fieldbyname('empresa').AsString := form1.Label1.caption;
ibdataset1.fieldbyname('noc').Asinteger := scurrencyedit1.AsInteger;
ibdataset1.fieldbyname('ncorr').Asinteger := n + 1;
if (copy(ibquery2.FieldByName('codigo').AsStrinG,1,1) = 'S') then ibdataset1.fieldbyname('inv').asstring:='0'
else ibdataset1.fieldbyname('inv').asstring:='1';
ibdataset1.fieldbyname('cod_insum').Asinteger :=STRTOINT(copy(ibquery2.FieldByName('codigo').AsString,3,8));
ibdataset1.fieldbyname('unidad').AsString :=ibquery2.FieldByName('UNIDAD').AsString;
ibdataset1.fieldbyname('DESCRIP_INS').AsString :=ibquery2.FieldByName('NOMBRE').AsString;
ibdataset1.Post;

de esta forma inserto varios registro, y luego, una vez de estar seguro, ejecuto el commit de la transacción.

Alguien me podra enviar un ejemplo con inserción, modificación y eiliminación de registros con un TIBDataset.

Espero me puedan ayudar.

Saludos
Responder Con Cita