Fórum Passagem de parâmetro para um insert em uma ZQuery #169068
20/04/2010
0
var x,y:string;
cod:Integer;
begin cod := StrToInt(CpoCodPonto.Text);
x := (CpoX.Text);
y := (CpoY.Text); ZQrDados.Close;
ZQrDados.SQL.Clear;
ZQrDados.SQL.Add('INSERT INTO poco_a (gid,the_geom)');
ZQrDados.SQL.Add('values (:par1, (GeomFromText('+'Point(:par2 :par3))'+'))'); //Aqui eu preciso enviar o valor da coordenada x para o "par2" e a coordenada y para o "par3". ZQrDados.ParamByName('par1').AsInteger := cod;
ZQrDados.ParamByName('par2').AsString := x;
ZQrDados.ParamByName('par3').AsString := y;
//ZQrDados.ParamByName('par4').AsString := conversao; ZQrDados.Open; Está acontecendo o seguinte erro: 'Sql Error: erro de sintaxe em ou próximo a "2"' at character 71'. Process stopped. Esse erro próximo a "2" é por que informei o número 2 no campo Y. O erro está no Insert, (GeomFromText('+'Point(:par2 :par3))'+')). Alguma Sujestão? desde já agradeço....
Felipe
Curtir tópico
+ 0Posts
20/04/2010
Felipe
Gostei + 0
20/04/2010
Emerson Nascimento
procedure TFrmManutPontos.BtnSalvarClick(Sender: TObject);
var x,y:string;
cod:Integer;
begin
cod := StrToInt(CpoCodPonto.Text);
x := (CpoX.Text);
y := (CpoY.Text);
ZQrDados.Close;
ZQrDados.SQL.Clear;
ZQrDados.SQL.Add('INSERT INTO poco_a (gid,the_geom)');
ZQrDados.SQL.Add('values (:par1, (GeomFromText(Point('+inttostr(x)+' '+inttostr(y)+'))))');
ZQrDados.ParamByName('par1').AsInteger := cod;
ZQrDados.ParamByName('par2').AsString := x;
ZQrDados.ParamByName('par3').AsString := y;
//ZQrDados.ParamByName('par4').AsString := conversao;
ZQrDados.Open;
veja se funciona....
Gostei + 0
21/04/2010
Felipe
var x,y,conversao:string;
cod,x1,y1:Integer;
conversao2:TPoint;
begin // ZQrDados.FieldByName('gid').AsInteger := StrToInt(CpoX.Text);
// ZQrDados.FieldByName('').AsInteger := ; cod := StrToInt(CpoCodPonto.Text);
x := (CpoX.Text);
y := (CpoY.Text);
conversao := ((x)+' '+(y)); // Inserção do ponto no Banco de Dados
ZQrDados.Close;
ZQrDados.SQL.Clear;
ZQrDados.SQL.Add('INSERT INTO poco_a (gid,the_geom)');
conversao := 'Point('+conversao+')';
ZQrDados.SQL.Add('values (:par1, GeomFromText('''+ conversao +''' ))'); ZQrDados.ParamByName('par1').AsInteger := cod;
ZQrDados.Open;
end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)