Hola anubis.
Cita:
Empezado por anubis
...
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