Fórum Formatação para um insert into #332793
07/11/2006
0
Espero q alguem possa me ajudar.
Formatação para um insert into
o problema esta na quantMes, como faço para gravar o valor corretamente, a questão é a frassão.
codigoEmpresa: Integer;
codigoProdServ: Integer;
-> quantMes: Double;
anoReferencia: String;
codigoEmpresa:= StrToInt(DBTxtCodigoEmp.Caption);
codigoProdServ:= StrToInt(DBLookupComboBox2.KeyValue);
-> quantMes:= StrToFloat(Edit1.Text);
anoReferencia:= Edit2.Text;
DMClient.cdsEmpresas_Prod_Serv.Close;
DMClient.cdsEmpresas_Prod_Serv.CommandText:=
´insert into empresas_produtos_servicos´+
´ values(´+IntToStr(codigoEmpresa)+´,´
+IntToStr(codigoProdServ)+´,´
-> +FloatToStrF(quantMes,FFnumber,12,2)+´,´
+anoReferencia+´)´;
DMClient.cdsEmpresas_Prod_Serv.Execute;
Aguardo ajuda
Francisco
Nussbaum
Curtir tópico
+ 0Posts
07/11/2006
Rjun
Não fica enfiando instrução SQL no meio do seu código em strings concatenadas. Isso fica horroroso e de dificil manutenção. Utilize queries parametrizadas. Dê uma pesquisada no fórum que tem vários tópicos sobre isso.[/b]
Gostei + 0
09/11/2006
Martins
codigoProdServ:= StrToInt(DBLookupComboBox2.KeyValue);
-> quantMes:= StrToFloat(Edit1.Text);
anoReferencia:= Edit2.Text;
DMClient.cdsEmpresas_Prod_Serv.Close; DMClient.cdsEmpresas_Prod_Serv.CommandText:= ´insert into empresas_produtos_servicos values(:CodEmpresa, :CodProdServ, :QtdMes, :AnoRef)´; DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´CodEmpresa´).AsInteger := IntToStr(codigoEmpresa); DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´CodProdServ´).AsInteger := IntToStr(codigoProdServ); DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´QtdMes´).AsString := FloatToStrF(Round(quantMes),FFnumber,12,2); ¬0 into empresas_produtos_servicos values(:CodEmpresa, :CodProdServ, :QtdMes, :AnoRef)´; DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´CodEmpresa´).AsInteger := IntToStr(codigoEmpresa); DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´CodProdServ´).AsInteger := IntToStr(codigoProdServ); DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´QtdMes´).AsString := FloatToStrF(Round(quantMes),FFnumber,12,2); DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´AnoRef´).AsString := AnoReferencia; DMClient.cdsEmpresas_Prod_Serv.Execute;
boa sorte!
Gostei + 0
09/11/2006
Martins
DMClient.cdsEmpresas_Prod_Serv.Close; DMClient.cdsEmpresas_Prod_Serv.CommandText:= ´insert into empresas_produtos_servicos values(:CodEmpresa, :CodProdServ, :QtdMes, :AnoRef)´; DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´CodEmpresa´).AsInteger := IntToStr(codigoEmpresa); DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´CodProdServ´).AsInteger := IntToStr(codigoProdServ); DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´QtdMes´).AsString := FloatToStrF(Round(quantMes),FFnumber,12,2); DMClient.cdsEmpresas_Prod_Serv.Params.ParamByName(´AnoRef´).AsString := AnoReferencia; DMClient.cdsEmpresas_Prod_Serv.Execute;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)