Ver Mensaje Individual
  #5  
Antiguo 20-02-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola anubis.
Cita:
Empezado por anubis Ver Mensaje
...
Estuve dandole vueltas al tutorial que me puso Casimiro Notevi, y de esa forma si,trabajan, pero si lo quiero hacer a mano ya no lo hace.
Me explico,
A la hora de usar el editor de ibxdataset1, genero las consultas, inserciones, etc, y quedan almacenadas en selectSQL y etc,
si yo pongo

Código Delphi [-]
  ibdataset1.SelectSQL.Clear;
  ibdataset1.SelectSQL.Text:='select * from usuarios';
  ibdataset1.Open;
  ibdataset1.Insert;
  ibdataset1.fieldbyname('nick').asstring:=enick.text;
  ibdataset1.Post;
  IBTransaction1.CommitRetaining;
ya nose, la verdad que estoy haciendo mal ahi, porque tenia en

Esa estructura esta bien?. o asi no se debe.
...
Trabajando con el TIBDataSet de forma manual, si solo asignas la propiedad SelectSQL como en el código que mostras, el componente se comportará de modo similar que si hubieses lanzado una consulta mediante un TIBQuery.

Para poder aprovechar las facilidades que ofrece el componente TIBDataSet (como los métodos: Delete, Insert, Append, Post) también tenes que configurar de forma manual sus propiedades DeleteSQL, InsertSQL, ModifySQL y RefreshSQL. Ejemplo:
Código Delphi [-]
...
var
  ib: TIBDataSet;
begin
  ib := IBDataSet1;
  ib.Close;
  ib.SelectSQL.Text  := 'SELECT ID, NAME, PASSWORD FROM USUARIO';
  ib.DeleteSQL.Text  := 'DELETE FROM USUARIO WHERE ID = :OLD_ID';
  ib.InsertSQL.Text  := 'INSERT INTO USUARIO (ID, NAME, PASSWORD)VALUES(:ID, :NAME, :PASSWORD)';
  ib.ModifySQL.Text  := 'UPDATE USUARIO SET ID = :ID, NAME = :NAME, PASSWORD = :PASSWORD WHERE ID = :OLD_ID';
  ib.RefreshSQL.Text := 'SELECT ID, NAME, PASSWORD FROM USUARIO WHERE ID = :ID';
  ib.Open;

  ib.Insert;

  ...

  ib.Post;
Pero generalmente es mucho mas simple y rápido usar la herramienta SQL Generation que trae el componente.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita