Fórum Inserir Autoincremento em outra tabela.... #298705
07/10/2005
0
Galera preciso novamente da ajuda de vcs!!!!
Tenho Uma Tabela chamado ROMANEIO, ela tem um campo chamado ID_ROMANEIO, esse campo eh autoincremento...até ai tudo bem, ele gera o número e etc...
Eu tenho outra tabela, chamada ENCOMENDAS, ela possui um campo chamado ROMANEIO.
Eu preciso gerar um número para o ID_ROMANEIO e ´jogar´ esse número no campo ROMANEIO de algumas encomendas, algumas nem todas, ai vcs me falam, gera pega o número, vai na tela de cadastro e coloca no campo....não eu naum qro isso, eu qro fazer isso apenas clicando em um botão!!!!
Entaum pensei nesse código:
with DM.qry do begin Close; SQL.Clear; SQL.Add (´Update encomendas´); SQL.Add (´set Romaneio = :roman where ID_ENCOMENDA = :encomenda´); Params[0].AsInteger := StrtoInt(Edit1.Text); Params[1].AsInteger := StrtoInt(Edit2.Text); ExecSQL; Open; Close; SQL.Add (´select * from encomendas where Romaneio = :roman´); Params[0].AsInteger := StrtoInt(Edit2.Text); ExecSQL;
Só q ele me retorna o erro Cursor not returned from query....
Alguém sabe como resolver? ou tem uma forma melhor para resolver isso?????
Utilizo Firebird e DBExpress...
Agradeço desde já, obrigado!!!!!!!!!
Ramms
Curtir tópico
+ 0Posts
07/10/2005
Rjun
Gostei + 0
07/10/2005
Ramms
Gostei + 0
07/10/2005
Rjun
Gostei + 0
07/10/2005
Ramms
O erro ocorre na hr que eu clico no botão...em run time....
Vlw...
Gostei + 0
07/10/2005
Vinicius2k
Vc está se esquecendo de limpar a SQL da query, então, a segunda execução está ´misturada´ à primeira. Além é claro do que o RJun já lhe disse.
Close; SQL.Clear; SQL.Add (´Update encomendas´); SQL.Add (´set Romaneio = :roman where ID_ENCOMENDA = :encomenda´); Params[0].AsInteger := StrtoInt(Edit1.Text); Params[1].AsInteger := StrtoInt(Edit2.Text); ExecSQL; // SQL.Clear; SQL.Add (´select * from encomendas where Romaneio = :roman´); Params[0].AsInteger := StrtoInt(Edit2.Text); Open;
Gostei + 0
07/10/2005
Ramms
O erro ocorre na hr que eu clico no botão...em run time....
Vlw...[/quote:ecb279f16a]
Detalhe, esse erro ocorre tanto em Query´s e ClientDataSet...
Gostei + 0
07/10/2005
Vinicius2k
Gostei + 0
07/10/2005
Ramms
HEUIAHUIEUheaiHUIEHie vc postou ao msm tempo que eu kra, malz...
Testei o seu Vinicius e ´funcionou´ só num tha dando o UPDATE que eh o que eu preciso, simplesmente ele não dah o update.....
o código ficou assim
with DM.qry do begin Close; SQL.Clear; SQL.Add (´UPDATE ENCOMENDAS SET ROMANEIO = :roman WHERE ID_ENCOMENDA = :encomenda´); Params[0].AsInteger := StrtoInt(Edit1.Text); Params[1].AsInteger := StrtoInt(Edit2.Text); ExecSQL; // end; with DM.ClientDataSet4 do begin Close; CommandText := (´select * from encomendas where Romaneio = :roman´); Params[0].AsInteger := StrtoInt(Edit2.Text); Open;
Eu estou usando o CDS ai no final para listar num DBGRID....
vlw
Gostei + 0
07/10/2005
Ramms
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)