MVMSPHC 0 Denunciar post Postado Julho 2, 2009 Boa tarde Tenho uma tabela chamada produtos com as seguintes colunas: Idproduto integer pdt_nome varchar; pdt_precokg float; pdt_qntdest float; E estou tentando fazer um insert da seguinte forma; v1 := strtofloat(DBedit2.text); v2 := strtofloat(DBedit3.text); ZQuery1.Active := False; ZQuery1.SQL.Clear; ZQuery1.SQL.Add(' insert into produtos (pdt_nome) values ("'+DBedit1.Text+'") '); ZQuery1.SQL.Add(' insert into produtos (pdt_precokg) values ('+v1+') '); ZQuery1.SQL.Add(' insert into produtos (pdt_qntdest) values ('+v2+') '); ZQuery1.ExecSQL; O nome do produto eh inserido mas as outras o resto acusa erro de incompativel string com real, como fazer ? Lembrando que eh um banco Mysql, delphi 7. Muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Sanches 0 Denunciar post Postado Julho 2, 2009 tente o seguinte: v1 := strtofloat(DBedit2.text); v2 := strtofloat(DBedit3.text); ZQuery1.Active := False; ZQuery1.SQL.Clear; ZQuery1.SQL.Add(' insert into produtos (pdt_nome, pdt_precokg, pdt_qntdest) values (:pNome, :pPrecoKg, :pQntDest)'); ZQuery1.ParamByName('pNome').AsString:= Edit1.Text; ZQuery1.ParamByName('pPrecoKg').AsFloat:= v1; ZQuery1.ParamByName('pQntDest').AsFloat:= v2; ZQuery1.ExecSQL; abraços !!! Compartilhar este post Link para o post Compartilhar em outros sites
MVMSPHC 0 Denunciar post Postado Julho 3, 2009 tente o seguinte: v1 := strtofloat(DBedit2.text); v2 := strtofloat(DBedit3.text); ZQuery1.Active := False; ZQuery1.SQL.Clear; ZQuery1.SQL.Add(' insert into produtos (pdt_nome, pdt_precokg, pdt_qntdest) values (:pNome, :pPrecoKg, :pQntDest)'); ZQuery1.ParamByName('pNome').AsString:= Edit1.Text; ZQuery1.ParamByName('pPrecoKg').AsFloat:= v1; ZQuery1.ParamByName('pQntDest').AsFloat:= v2; ZQuery1.ExecSQL; abraços !!! Muito obrigado !!!!! Sem querer ser chato agora mas, o que o ZQuery1.ParamByName('pNome').AsString:= Edit1.Text; fez ? tipo, oq aconteceu nessa linha, pra eu poder repetir nas proximas forms ? Mas denovo, muito obrigado !!!! Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Sanches 0 Denunciar post Postado Julho 3, 2009 é o seguinte ... em instruções SQL, quando você utiliza o caracter ":", você está criando um parametro: ex: 'select * from TABLE where CAMPO = :pCAMPO'... neste caso acima, você criou o parametro "pCAMPO" com um valor ainda indefinido ... agora, para passar um valor pra esse parametro, utilizamos a seguinte linha de comando: Query1.ParamByName('pCAMPO').AsString:= 'texto'; entendeu + ou - ??? rsrsrs abraços !!! Compartilhar este post Link para o post Compartilhar em outros sites