Aula 15 - HTTP 1.1 500 Internal Server Error

Nesse fórum você poderá discutir com todos sobre o curso de criação de aplicativos móveis ministrados pela TDevRocks.

Moderador: hermeson

PedroG
Mensagens: 26
Registrado em: 10/Mar/2017, 09:35

Aula 15 - HTTP 1.1 500 Internal Server Error

Mensagempor PedroG » 11/Ago/2017, 09:28

Olá, estou com esse erro na hora de gravar o fornecedor no servidor:

HTTP 1.1 500 Internal Server Error.png
HTTP 1.1 500 Internal Server Error.png (4.57 KiB) Exibido 163 vezes


Já dei uma pesquisada sobre esse erro e não encontrei nada consistente a ponto de sanar meu problema, gostaria de saber se alguém que acompanhou o curso, conseguiu resolver ou alguém mais experiente e que já tenha visto esse problema, saiba o que pode ser.

Os códigos utilizados não diferem aos do curso, pois estou acompanhando e tentando reproduzir.

Lado Servidor

Código: Selecionar todos

function TsrvMetodosGerais.SincronizarCliente(ACli: TFDJSONDataSets): Boolean;
{$Region 'Insert Clientes }
const _INSERTCLIENTES =
                'INSERT INTO CLIENTES                 '+
                '(                                    '+
                '  NOME              ,                '+
                '  RAZAOSOCIAL       ,                '+
                '  CNPJCPF           ,                '+
                '  CELULAR           ,                '+
                '  FIXO                               '+
                ')                                    '+
                'VALUES                               '+
                '(                                    '+
                '  :NOME             ,                '+
                '  :RAZAOSOCIAL      ,                '+
                '  :CNPJCPF          ,                '+
                '  :CELULAR          ,                '+
                '  :FIXO                              '+
                ');                                   ';
{$EndRegion}
var iInserts: Integer;
begin
  Assert(TFDJSONDataSetsReader.GetListCount(ACli) = 1);
  memAuxiliarClientes.Active := False;
  memAuxiliarClientes.AppendData(TFDJSONDataSetsReader.GetListValue(ACli, 0));

  iInserts := memAuxiliar2.RecordCount;
  qryAuxiliarClientes.Active := False;
  qryAuxiliarClientes.SQL.Clear;
  qryAuxiliarClientes.SQL.Text := _INSERTCLIENTES;

  qryAuxiliarClientes.Params.ArraySize := iInserts;

  while not memAuxiliarClientes.EOF do
  begin
     if ClienteExiste(memAuxiliarClientes.FieldByName('APELIDO').AsString) then
     begin
       qryAuxiliarClientes.Params.ParamByName('APELIDO').AsStrings[memAuxiliarClientes.RecNo-1] := memAuxiliarClientes.FieldByName('APELIDO').AsString;
       qryAuxiliarClientes.Params.ParamByName('RAZAOSOCIAL').AsStrings[memAuxiliarClientes.RecNo-1] := memAuxiliarClientes.FieldByName('RAZAOSOCIAL').AsString;
       qryAuxiliarClientes.Params.ParamByName('CNPJCPF').AsStrings[memAuxiliarClientes.RecNo-1] := memAuxiliarClientes.FieldByName('CNPJCPF').AsString;
       qryAuxiliarClientes.Params.ParamByName('CELULAR').AsStrings[memAuxiliarClientes.RecNo-1] := memAuxiliarClientes.FieldByName('CELULAR').AsString;
       qryAuxiliarClientes.Params.ParamByName('FIXO').AsStrings[memAuxiliarClientes.RecNo-1] := memAuxiliarClientes.FieldByName('FIXO').AsString;
     end
     else
     Dec(iInserts);
     memAuxiliarClientes.Next;
  end;

  qryAuxiliarClientes2.Execute(iInserts, 0);

end;


Lado Cliente

Código: Selecionar todos

procedure TDM.SalvarCliente;
var
  DSCli : TFDJSONDataSets;
begin
  DSCli := TFDJSONDataSets.Create;
  qryAuxiliarCli.Active := False;
  qryAuxiliarCli.SQL.Clear;
  qryAuxiliarCli.SQL.Text := 'SELECT * FROM CLIENTES';
  TFDJSONDataSetsWriter.ListAdd(DSCli, qryAuxiliarCli);

  cm.srvMetodosGeraisClient.SincronizarCliente(DSCli)
end;


No caso estou usando para gravar um cliente, e não estou usando ID. Utilizo o XE8 e o SQLServer 2012
Obrigado
PedroG
Mensagens: 26
Registrado em: 10/Mar/2017, 09:35

Re: Aula 15 - HTTP 1.1 500 Internal Server Error

Mensagempor PedroG » 22/Ago/2017, 09:42

Separei o servidor e o cliente, executei ambos em modo debug, salvando o FORNECEDOR, recebi este erro:

erro fornecedor 335.png
erro fornecedor 335.png (6.33 KiB) Exibido 139 vezes


Tentei mudar o parâmetro, em vez de usar o ID, usei o APELIDO no CLIENTE (assim como na videoaula) porém o erro persiste:

erro cliente 335.png
erro cliente 335.png (6.14 KiB) Exibido 139 vezes


Revisei o código várias e várias vezes e não consigo encontrar algum erro aparente. Troquei o tipo de dado no banco (O campo ID, de Integer mudei para varchar, tomando cuidado para adaptar o código a essa mudança, e o erro ainda continua). Alguém da uma luz :? :?
PedroG
Mensagens: 26
Registrado em: 10/Mar/2017, 09:35

Re: Aula 15 - HTTP 1.1 500 Internal Server Error

Mensagempor PedroG » 04/Set/2017, 13:08

Olá, infelizmente não encontrei uma solução para tal problema, mudei o método utilizado para o ApplyUpdates, que de certa forma está funcionando. O único problema que tenho percebido é que ao abrir o aplicativo, ele grava os dados no banco, porém, somente na primeira vez, se eu mantiver o app aberto e tentar fazer outra inserção, ele não faz, e não apresenta nenhum erro em modo debug (rodando o servidor e o cliente separadamente, porém na mesma maquina). Alguém já passou por isso?

Voltar para “[Curso] - Criando aplicativos móveis com Delphi”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante