Holap, bueno la variable esta bien declarada, y la forma de limpiar el SQL tambien pero
al momento de agregar el SQL no debido a que no estas haciendo referencia a la propiedad
SQL del TQuery y ademas te faltan algunos "punto y comas"...osea que quedaria asi:
Código:
Var
myQuery : TQuery;
Begin
myQuery := TQuery.Create(nil);
myQuery.Sql.Clear;
myQuery.SQL.Add('Insert into Articulos(modelo,describe,linea...etc');
myQuery.SQL.Add('Values("0001","PRUEBAS","FALDA")');
myQuery.ExecSQL;
myQuery.Sql.Clear;
myQuery.SQL.Add('Insert into Precios(costo,publico,mayoreo...etc');
myQuery.SQL.Add('Values(200,400,600)');
myQuery.ExecSQL;
myQuery.free;
End;
Por otra parte...para usar transacciones debes bajar un componente TDatabase y configurarlo,
ya sea en su propiedad AliasName o en DriverName segun sea tu necesidad...no olvides configurar tambien los parametros
de la base de datos y si no quieres que se pida la contraseña del interbase poner la propiedad LoginPromt en 'False'.
Entonces ya podes trabajar con Transacciones y tu codigo quedaria asi, suponiendo de que el TDatabase se llama "database1":
Código:
Var
myQuery : TQuery;
Begin
database1.StartTransaction;
try
myQuery := TQuery.Create(application);
myQuery.Sql.Clear;
myQuery.SQL.Add('Insert into Articulos(modelo,describe,linea...etc');
myQuery.SQL.Add('Values("0001","PRUEBAS","FALDA")');
myQuery.ExecSQL;
myQuery.Sql.Clear;
myQuery.SQL.Add('Insert into Precios(costo,publico,mayoreo...etc');
myQuery.SQL.Add('Values(200,400,600)');
myQuery.ExecSQL;
myQuery.free;
database1.Commit;
except
database1.Rollback;
raise exception.create('No se pudo ejecutar la transaccion');
end;
End;
Espero te sirva.