Problemas ao adicionar registro
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.
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
Curtidas 0
Respostas
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!!
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
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:
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
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
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