Erro: Field IdProduto must have a value

MySQL

Delphi

21/08/2022

Clico em Inserir e preencho os edits e quando clico em Post apresenta o erro:"Field IdProduto must have a value", mas quando clico en editar e logo apos o Post funciona normal, segue o codigo.
procedure TfrmCadastroProdutos.DBNavigator1Click(Sender: TObject;
  Button: TNavigateBtn);
begin
 if (Button = nbInsert) then
    begin
    EditIdProduto.Clear;
    EditFilial.Clear;
    EditDescicaoProduto.Clear;
    EditUnidade.Clear;
    EditCusto.Clear;
    EditVenda.Clear;
    EditM3.Clear;
    ComboBoxIdGrupo.KeyField.Empty;
    EditDescricaoGrupo.Clear;
    ComboBoxIdSubGrupo.KeyField.Empty;
    EditDescricaoSubGrupo.Clear;
    dtMadeiras.QueryProduto.Insert;
    end;
 if (Button = nbPost) then
    Begin
     if (dtMadeiras.QueryProduto.State = dsInsert) then
        begin
//        dtMadeiras.QueryProduto.Close;
        dtMadeiras.QueryProduto.SQL.Clear;
        dtMadeiras.QueryProduto.SQL.Add(''''Insert into gb_produto(IdProduto, Filial, DESCRICAO,'''');
        dtMadeiras.QueryProduto.SQL.Add(''''UNICADE, CUSTO, VENDA, M3, IDGRUPO, IDSUBGRUPO'''');
        dtMadeiras.QueryProduto.SQL.Add(''''VALUES(''''+
        QuotedStr(EditIdProduto.Text)+'''',''''+
        QuotedStr(EditFilial.Text)+'''',''''+
        QuotedStr(EditDescicaoProduto.Text)+'''',''''+
        QuotedStr(EditUnidade.Text)+'''',''''+
        QuotedStr(EditCusto.Text)+'''',''''+
        QuotedStr(EditVenda.Text)+'''',''''+
        QuotedStr(EditM3.Text)+'''',''''+
        QuotedStr(ComboBoxIdGrupo.KeyValue)+'''',''''+
        QuotedStr(ComboBoxIdSubGrupo.KeyValue)+
        '''')'''');
        dtMadeiras.QueryProduto.ExecSQL;
        ShowMessage(''''Registro Criado com Sucesso!'''');
        end
     else
        begin
        dtMadeiras.QueryProduto.edit;
        dtMadeiras.QueryProdutoIdProduto.Value:=StrtoInt(EditIdProduto.Text);
        dtMadeiras.QueryProdutoFilial.Value:=strtoint(EditFilial.Text);
        dtMadeiras.QueryProdutoDESCRICAO.Value:=EditDescicaoProduto.Text;
        dtMadeiras.QueryProdutoUNIDADE.Value:=EditUnidade.Text;
        dtMadeiras.QueryProdutoCUSTO.Value:=StrToFloat(EditCusto.text);
        dtMadeiras.QueryProdutoVENDA.Value:=StrToFloat(EditVenda.Text);
        dtMadeiras.QueryProdutoM3.Value:= StrToFloat(EditM3.Text);
        dtMadeiras.QueryProdutoIDGRUPO.Value:=strtoint(ComboBoxIdGrupo.Text);
        EditDescricaoGrupo.Text:= dtMadeiras.QueryProdutoDescricaoGrupo.Value;
        dtMadeiras.QueryProdutoIDSUBGRUPO.Value:=strtoint(ComboBoxIdSubGrupo.Text);
        EditDescricaoSubGrupo.Text:=  dtMadeiras.QueryProdutoDescricaoSubGrupo.Value;
        dtMadeiras.QueryProduto.Post;
        ShowMessage(''''Registro Gravado com Sucesso!'''');
        end;
    End;
end;
Salomao.coelho

Salomao.coelho

Curtidas 0
POSTAR