GARANTIR DESCONTO

Fórum Delphi e Interbase #202723

23/12/2003

0

Olá Pessoal,

É a primeira vez que utilizo o forum, estou iniciando no delphi, e como todo iniciante estou cheio de dúvidas, por exemplo esta:

tenho uma tabela no interbase com dois campos (cod e nome), onde contem uma stored procedure para criar um novo número para o código.

até ai tudo bem, no delphi tem um form com dois edits, onde o primeiro recupera o valor gerado pela stored procedure, no mesmo form existe três botões, que são respectivamente: ´novo registro´, ´cadastrar´ e ´fechar´, o primeiro faz com que o edit1 seja preenchido com o valor do generator e automaticamente liga o segundo edit, possibilitando assim a inserção, então resumindo como faço para que os dados que estão nos edits sejam passados para o interbase quando eu clicar no botão ´cadastrar´.

Se alguém souber de algum tutorial que eu possa baixar eu agradeço.

Valeu
Paulo


Oadventista

Oadventista

Responder

Posts

23/12/2003

Biffi

Quais componentes voce esta utilizando para acesar o banco de dados (preencher o edit1)?


Responder

Gostei + 0

23/12/2003

Oadventista

Estou utilizando o IBDataBase, o IBTransaction e o IBStoredProcedure


Responder

Gostei + 0

23/12/2003

Biffi

Eu normalmente utilizo os componentes dbexpress, mas acredito que tbem funcione.

IBTable1.Insert;
IBTable1.FieldByName(´CODIGO´).AsInteger := StrToInt(EDIT1.TEXT);
IBTable1.FieldByName(´NOME´).AsString := EDIT2.TEXT;
IBTable1.Post;
IBTable1.ApplyUpdates;

espero ter ajudado
caso naum funcione retorne que terei prazer em ajuda-lo(estou um pouco ocupado - naum tive tempo de testar)


Responder

Gostei + 0

23/12/2003

Oadventista

Olha deu o seguinte pau, quando eu clico para cadastrar ele me retorna um erro, dizendo que ocorreu um erro no ibtable1 e que o mesmo é fechado, dai o depurador marca a seguinte linha:

procedure TFormExemplo.ButtonCadastrarClick(Sender: TObject);
begin
if (EditNome.Text = ´´) then
begin
FormErro.showmodal;
EditNome.SetFocus;
end;
{Executa o insert na tabela}
IBTable1.Insert;
>>> IBTable1.FieldByName(´CAMPO1´).AsInteger := StrToInt(EditCod.Text);
IBTable1.FieldByName(´CAMPO2´).AsString := EditNome.Text;
IBTable1.Post;
IBTable1.ApplyUpdates;
end;


Responder

Gostei + 0

23/12/2003

Biffi

antes do evento deste botão, você abriu o ibtable1? Se naum provavelmente é este o erro, experimente adicionar antes do ´IBTable1INSERT´ a linha ´IBTable1.Open´. Se voce ja abriu a tabela antes, fica mais facil se voce me enviar um trecho do codigo para eu dar uma olhada.

t+


Responder

Gostei + 0

23/12/2003

Oadventista

Cara, Valeu a ajuda, deu certo com .open

Valeu mesmo.

Atenciosamente
Paulo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar