Problemas ao adicionar registro

Delphi

26/11/2003

Ooo Pessoal alguem pode me ajudar....

O problema é o ponho o codigo para adicionar registro em uma query q no caso seria esse:
begin

dmCondominio.qryCondominio.open;
dmCondominio.qryCondominio.append;
dmCondominio.qryCondominio.SQL.Clear;
dmCondominio.qryCondominio.SQL.Add(´select * from Quarto´);
dmCondominio.qryCondominio.SQL.Add(´insertinto Quarto (And_Quar, Num_Quar,´+
´Des_Quar) values(Edit1.txt, Edit2.txt, Edit3.txt)´);

ShowMessage(´Cadastro efetudado com sucesso´);
end;



Ai quando mando o delphi compilar ele o faz sem acusar erro nenhum mas quando vou executar esses comando o delphi trava e o PC tambem, e tenho q reiniciar o computador sempre.


Douglasf

Douglasf

Curtidas 0

Respostas

Robsondias

Robsondias

26/11/2003

kra, nao entendo mtu.. mas vo tentar ajudar..
antes ta linha
ShowMessage(´Cadastro efetudado com sucesso´);
coloque
dmCondominio.qryCondominio.post;
ou dmcondominio.NOMEDATABELA.post;
acho q eh isso.. espero ter ajudado!!


GOSTEI 0
Rafael Heise

Rafael Heise

26/11/2003

observe uma vez como você está fazendo....
essa questão de travar o pc e talz eu não sei o porque.. .mas seu código não está muito certo....
olhe o que você fez:


begin dmCondominio.qryCondominio.open; dmCondominio.qryCondominio.append; dmCondominio.qryCondominio.SQL.Clear; dmCondominio.qryCondominio.SQL.Add(´select * from Quarto´); dmCondominio.qryCondominio.SQL.Add(´insertinto Quarto (And_Quar, Num_Quar,´+ ´Des_Quar) values(Edit1.txt, Edit2.txt, Edit3.txt)´); ShowMessage(´Cadastro efetudado com sucesso´); end;


pois bem...
você não deve usar nesse caso o [color=red:43c4a949a1]Append[/color:43c4a949a1].
Esse apend serve para criar um novo registro e posicionar nesse registro para você inserir os valores nos campos e depois chamar um post.
Mas você está usando uma query. Você por acaso setou o RequestLive para True? Se você não setou, não poderá usar dessa forma.
Então, fazendo via sql ficará assim
begin
  try
    //dmCondominio.qryCondominio.open;
    //dmCondominio.qryCondominio.append;
    dmCondominio.qryCondominio.SQL.Close;
    dmCondominio.qryCondominio.SQL.Clear; 
    //dmCondominio.qryCondominio.SQL.Add(´select * from Quarto´);
    // e aqui o seu sql mudou para
    // ´INSERT INTO QUARTO (And_Quar, Num_Qua, Des_Qua)´ + 
    // ´VALUES (´ + QuotedStr(Edit1.Text)+´,´ + QuotedStr(Edit2.Text) +
    // ´,´ + QuotedStr(Edit3.Text) + ´)´
    dmCondominio.qryCondominio.SQL.Add(´INSERT INTO QUARTO    (And_Quar, Num_Qua, Des_Qua)´ + 
     ´VALUES (´ + QuotedStr(Edit1.Text)+´,´ + QuotedStr(Edit2.Text) +
     ´,´ + QuotedStr(Edit3.Text) + ´)´); 
    dmCondominio.qryCondominio.SQL.ExecSQL;
    ShowMessage(´Cadastro efetudado com sucesso´);
  except
    on E: Exception do
      ShowMessage(E.Message);
  end;
end;


pronto, agora acho que funcs...
ele pode estar travando por causa do Append ok, mas não tenho certeza!
Mas acho que agora vai funcs...
de uma comparada com o que você fez.. eu ainda deixei seu código... para você ver o que foi retirado e o que foi colocado...
e ainda fiz umas validações com try except, e então você pode usar para colocar uma mensagem sua e talz...
blz?

abraços


GOSTEI 0
POSTAR