Fórum Tabela de estoque. Erro em entrada de dados... #186651
07/10/2003
0
procedure Tfrmcompesc.btconfirmarClick(Sender: TObject);
begin
fim;
if application.messagebox(´Confirma a Atualização?´,´Confirme´, mb_yesno) = idyes then
begin
try
if dbnome.text <> tbescNome.asstring then
begin
tbesc.append;
tbescQtdesai.asinteger := 0;
tbescQtdent.asinteger := strtoint(dbqtde.text);
tbescQtdeatual.asinteger := strtoint(dbqtde.text);
tbesc.post;
tbesc.close;
tbesc.open;
end
else
tbesc.append;
tbescQtdent.asinteger:= tbescQtdent.asinteger + strtoint(dbqtde.text);
tbescQtdesai.asinteger := tbescqtdesai.asinteger;
tbescQtdeatual.asinteger := tbescQtdent.asinteger - tbescQtdesai.asinteger;
tbesc.post;
tbesc.close;
tbesc.open;
except begin
MessageDlg (´Não foi possível registrar esta compra´, mtInformation,[mbOk],0);
exit;
end;
end;
end;
end;
Elias Jr
Curtir tópico
+ 0Posts
07/10/2003
Hilton_sa
Gostei + 0
07/10/2003
Elias Jr
Project Inventário.exe raised Exception class EConvertError with message ´´ não é um valor inteiro válido. Como resolvo isso? Muito obrigado.
Gostei + 0
07/10/2003
Luizfernando777
Você fez varias proteções,
mas esqueceu da principal,
qdo vc passa um valor do Campo TEdit,
geralmente ele é String certo,
mas vc não pode converter um valor
´vazio´ para inteiro,
então:
if Edit1.Text = ´´ then
Edit1.Text := ´0´;
mas o seu projeto
está usando o TDBEdit,
ele já fica direto c/ sua
base de dados, então,
vc NÃO precisa passar
os paramentros para a tabela,
somente os que vão sofer
alteração (que no caso),
você soma
ex:
procedure botãoconfirma;
var
Total : Integer;
begin
......
....
//seu código
...
...
if EditQtent.Text = ´´ then
EditQtEnt.Text := 0;
Total := tbescQtdent.Value;
tbescQtdent.Value := Total + StrToInt( EditQtdent.Text );
...
...
Post;
end;
desculpe pelo comentário muito grande.
se vc precisar de alguma ajuda,
me escreva
luizfernando777@yahoo.com.br
pois noto que dá para otimizar seu cód. Fonte
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)