Ir para conteúdo
Fórum Script Brasil
  • 0

Erro ao Cadastrar Produto


chris~

Pergunta

gent ta dando um erro aki no eu cadastra meu produto sera q alguém poderia me ajuda.

o cod da minha unit é assim o

unit UCadProd;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, ExtCtrls, DBCtrls;

type
  TFrmCadProd = class(TForm)
    PnDados: TPanel;
    PnButton: TPanel;
    LbDescricao: TLabel;
    EdDescricao: TEdit;
    LbGrupo: TLabel;
    LbMarca: TLabel;
    LbCodBarra: TLabel;
    MdBarra: TMaskEdit;
    LbPrecoC: TLabel;
    LbPrecoV: TLabel;
    MdPrecoC: TMaskEdit;
    MdPrecoV: TMaskEdit;
    Label1: TLabel;
    LbEstoqueA: TLabel;
    LbEstoqueC: TLabel;
    BtnSalvar: TButton;
    BtnLimpar: TButton;
    BtnSair: TButton;
    BtnCalcular: TButton;
    MdEstoqRec: TMaskEdit;
    MdMargemAp: TMaskEdit;
    Label2: TLabel;
    Label3: TLabel;
    MdEstAtu: TMaskEdit;
    DBLKCBGrupo: TDBLookupComboBox;
    DBLKCBMarca: TDBLookupComboBox;
    procedure BtnSairClick(Sender: TObject);
    procedure BtnCalcularClick(Sender: TObject);
    procedure BtnSalvarClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmCadProd: TFrmCadProd;

implementation
Uses UBDESTOQUE;

{$R *.dfm}

procedure TFrmCadProd.BtnSairClick(Sender: TObject);
begin
   Close;
end;

procedure TFrmCadProd.BtnCalcularClick(Sender: TObject);
VAR
   SOMA:REAL;
begin

   SOMA:=STRTOFLOAT(MDPRECOC.Text)*STRTOFLOAT(MdMargemAp.Text);
   soma:=soma/100;
   soma:=soma+STRTOFLOAT(MDPRECOC.Text);
   MDPRECOV.Text:=FLOATTOSTR(SOMA);
end;

procedure TFrmCadProd.BtnSalvarClick(Sender: TObject);
Var
   str:string;
   begin

   str:= 'insert into Produto(Descricao,PrecoCompra,PrecoVenda,Margem,QuantidadeRec,QuantidadeAtual,CodMarca,CodGrupo)'
   + 'Values ('+#39+Trim (EdDescricao.text)+#39+','+#39+Trim (MdPrecoC.text)+#39+','
   +#39+Trim (MdPrecoV.text)+#39+','+#39+Trim (MdMArgemAp.text)+#39+','
   +#39+Trim (MdEstoqRec.text)+#39+','+#39+Trim (MdEstAtu.text)+#39+','+#39+Trim (DBLKCBMarca.text)+#39+','
   +#39+Trim (DBLKCBGrupo.text)+#39+')';
   with DataModule1 do
      Begin
         with IBQProduto do
            Begin
               SQL.Clear;
               SQL.Add(str);
               ExecSQL;
            end;
         try
           IBTransaction1.Commit;
           with IBQFornecedor do
              begin
                 sql.Clear;
                 SQL.Add('select*From Produto');
                 close;
                 open;
              end;
           ShowMessage('cadastro Concluido!');
         except
              IBTransaction1.Rollback;
           ShowMessage('Ouve um Erro ao Cadastro!!');
         end;
      end;


end;

procedure TFrmCadProd.FormCreate(Sender: TObject);
begin
   decimalseparator:='.';
end;

end.

ele da o seguinte erro

erro1og.jpg

erro2s.jpg

eu suspeito q é um erro do mask Edit e na data que eu coloquei no banco.

o mask edit ta com virgula,

e a data não faço ideia de como faze grava

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

O primeiro refere-se a erro de conversão para a string Mause ( se Mause é uma string voce pode estar tentanto atribuir um valor numerico a ela, sem fazer a conversão do numero para uma string )

o segundo refere-se a erro de conversão para a string ''''' ou seja voce colocou apostrofes a mais

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
os precoCompra e PrecoVenda são numericos na tabela.

ai eu crio uma variavel pra recebe os dois e converte pra numeric ou converto ali mesmo?

exemplo de convesão de strings:

procedure TForm1.Button1Click(Sender: TObject);
var PrecoCompra, PrecoVenda : real;
begin
   PrecoCompra := strtofloat(Edit1.Text);
   PrecoVenda := strtofloat(Edit2.Text);
   Edit3.Text := floattostr(PrecoVenda - PrecoCompra);
end;

caso ainda tenha duvidas procure no help do delphi ( F1 )

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...