PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Urgente meu insert com datasnap tem um erro de http:501 #572687

14/12/2016

0

Olá amigo boa tarde a todos vocês !
Estou precisando de uma ajudar para resolver esse pequeno problema que é o ultimo para que eu possa finalizar o meu projeto.

Estou trabalhando com Delphi xe 8 em um aplicação Android e Datasnap webbroker, pois bem; até onde sei uma vez conectado com o servidor datasnap a conexão não deveria ser perder nunca. Nas telas de consulta funciona exatamente assim, estou tendo problemas nessa tela de informar a localização.

O sistema funciona da seguinte forma: uma central de táxi lança na rede radio uma corrida para um cliente no Jabaquara por exemplo, os taxistas enviam a localização e quem estiver mais perto vai. Até aqui tudo bem o sistema le direitinha as coordenadas utilizando as funções de latitude e longitude o problema aqui é se o cara passa tipo 1 hora sem usar o sistema ele da um erro de http:501 no meu entender ele esta perdendo a conexão para a função insert nas demais tudo certo, ate mesmo as de update funcionam, já revisei todo o codigo do form que envia dados e acredito estar la no servidor datasnap. mas vou postar o código das duas telas e agradeço demais quem me ajudar resolver isso




Aqui o codigo no aplicativo android

procedure TfrmMain.ListBoxItem1Click(Sender: TObject);
var
  qtl, login, user, lat, long: string;
  A: string;
  B: string;
  x: string;
  y: string;
  clientrest: TServerMethods1Client;
  retInsert: integer;

begin

  LocationSensor1.Active := true;

  A := LocationSensor1.Sensor.Latitude.ToString;
  B := LocationSensor1.Sensor.Longitude.ToString;
  x := StringReplace(A, ',', '.', [rfReplaceAll, rfIgnoreCase]);
  y := StringReplace(B, ',', '.', [rfReplaceAll, rfIgnoreCase]);

  qtl := x + ' ' + y;
  login := v_nr_matricula;
  user := '';
  lat := x;
  long := y;

  if clientrest = nil then
    clientrest := TServerMethods1Client.Create(ClientModule1.DSRestConnection1);
  retInsert := clientrest.insertQTL_integer(qtl, login, user, lat, long);
  if retInsert > -1 then
    ShowMessage('Localização enviada !' + ''#13'' +
      'Aguarde a confirmação via Rede Rádio' + ''#13'' + 'Cordenadas : ' + x
      + ' ' + y)
  else
    ShowMessage
      ('Erro ao enviar a localização: Verifique sua conexão com a internet... ');

end;


[code]

 

[code]

  Result := -1;
//  if not  ConexaoFiredac.Connected =true then
//      ConexaoFiredac.Connected := true ;

  with Fqry_QTL do
  begin
    Close;
    SQL.Clear;
    SQL.Add('insert into tb_QTL (Qtl, Nm_Login,userid,Ds_latitude,Ds_Longitude) values (:Qtl, :Nm_Login,:userid,:Ds_latitude,:Ds_Longitude)');
    ParamByName('qtl').AsString := qtl;
    ParamByName('nm_login').AsString := moto;
    ParamByName('userid').AsString := Userid;
    ParamByName('ds_latitude').AsString := lat;
    ParamByName('ds_longitude').AsString := long;
    ExecSQL;
    Result := 0;
  end;

Carlos Faria

Carlos Faria

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar