Duvida simples quot;acho :P~~quot;

Firebird

01/12/2003

ola sou usuario novo do forum e do firebird,
estou com algumas duvidas, se alguem tiver 1 tempinho e puder me ajudar ficarei agradecido
:D

eu estava querendo fazer um insert em uma tabela usando um dataset, mas estou com umas duvidas na passagem de parametros.
tb gostaria de saber se este jeito abaixo esta errado ou eh ruim, sei la...
vivendo e aprendendo
abrigadao e T+

Try
if not FrmDMPetShop.IBTransaction1.InTransaction
then
FrmDMPetShop.IBTransaction1.StartTransaction;

FrmDMPetShop.DataSet1.Close;
FrmDMPetShop.DataSet1.SelectSQL.Clear;
FrmDMPetShop.DataSet1.SelectSQL.Add(´Insert into TB_DONO(NOME, SOBRENOME)´);
FrmDMPetShop.DataSet1.SelectSQL.Add(´Values(´:nome´, ´:sobren´)´);

FrmDMPetShop.DataSet1.ParamByName(´nome´).AsString := Edit1.Text;
FrmDMPetShop.DataSet1.ParamByName(´sobren´).AsString := Edit2.Text;
FrmDMPetShop.DataSet1.Open;
FrmDMPetShop.IBTransaction1.commit;

except
FrmDMPetShop.IBTransaction1.Rollback;
end;


Noberto_mg

Noberto_mg

Curtidas 0

Respostas

Afarias

Afarias

01/12/2003

o IBDataSet é mais aconselhavel para SELECTS ´editáveis´... se vc deseja apenas executar comandos INSERT/UPDATE/DELETE, é mais apropriado o uso do IBSQL


with IBSQL1 do
begin
SQL.Clear;
SQL.Add( ´insert into TB_DONO (NOME, SOBRENOME)´ );
SQL.Add( ´values (:nome, :sobren)´ );
Transaction.StartTransaction;
try
Prepare;
ParamByName(´nome´).AsString := Edit1.Text;
ParamByName(´sobren´).AsString := Edit2.Text;
ExecQuery;
finally
Transaction.Commit;
end;
end;


NOTE q não usei um ROLLBACK, pois não é necessário. Como apenas 1 comando está sendo executado, se ocorrer algum erro, não há nada para ser ´descartado´, então, sempre fecho a transação com 1 commit.



T+


GOSTEI 0
Noberto_mg

Noberto_mg

01/12/2003

poxa aFarias,
tu tem a manha demais
numa boa, devo meu uso semi-correto do interbase/firebird a vc.
lendo os topicos de resposta do forum ja a quase 3 dias consegui instalar, criar base, saber os componentes, coisas a fazer e entender o funcionamento ´em parte´ das coisas no IB
valeu mesmo mano, gente tipo vc q q mostra o verdadeiro significado de um forum como estes, ajudar os leigos ´como eu´

bom, na boa se eu tivesse uma irma jogava na sua mao, se quiser pode pegar meu carro e usar sem precisar enxer o tanque

huahauhaua

valeu mesmo e T+


GOSTEI 0
Afarias

Afarias

01/12/2003

:oops:


|na boa se eu tivesse uma irma jogava na sua mao,

uma prima?? :wink:


brincadeira cara...!! valeu ... o carro é melhor deixar na garagem mesmo... com essa máfia da gasolina por ai...

...a não ser q seja álcool, é?!?! 8)



T+


GOSTEI 0
POSTAR