Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi REST showing only one row on the client side ?
#1
hi every one
can some one help me with problem
I'm using Delphi REST with server and client but when i tried to show data on the client side its show only one row for some reason,
what did i do wrong?
PS: I'm using Delphi roi and restdataware 

the video down show what I'm deal with; any help will be very appreciated ^^ thank you 
on the client side i'm using this code  

procedure listv; var    jsonObj: TJsonObject;   
  json, sucesso, erro, id_store, nom_store, phone_saler: string;
begin  // FrmLogin.FloatAnimation2.Stop;    
// FrmLogin.FloatAnimation 3.Stop;
  if FrmLogin.listvreq.Response.JSONValue = nil then 
   begin     
 // FrmLogin.ExibirCampos;   
      ShowMessage ('خطأ في إنشاء الحساب (JSON غير صالح)');     
    exit;     
e nd;
    try
        json: = FrmLogin.listvreq.Response.JSONValue.ToString; 
        jsonObj: = TJSONObject.ParseJSONValue (TEncoding.UTF8.GetBytes (json), 0) as TJSONObject;    
     sucesso: = jsonObj.GetValue ('sucesso'). Value;
  erro: = jsonObj.GetValue ('erro'). Value;
      id_store: = jsonObj.GetValue ('id_store'). Value;
         nom_store: = jsonObj.GetValue ('nom_store'). Value;
          if sucesso <> 'S' then
        begin
         // FrmLogin.ExibirCampos;
            ShowMessage (erro);
            exit;
        end
        else

          // showmessage ('تم احضار بيانات:' + id_store + nom_store);
          // FrmLogin.ExibirCampos; ///
         // FrmLogin.ListView1.Items.Clear ();
    finally
        jsonObj.DisposeOf;
    end;

    end;
  procedure listverr (Sender: TObject);
begin
    if Assigned (Sender) and (Sender is Exception) then
    begin
      // FrmLogin.ExibirCampos;
        showmessage (Exception (Sender) .Message);
    end;
end;

procedure TFrmLogin.StartLogin2;
begin
  TThread.CreateAnonymousThread (
    procedure
    var
      Success: Boolean;
    begin
      try
        RequestLogin.Execute;
        Success: = RequestLogin.Response.Status.Success;
      except
        Success: = False;
      end;
      TThread.Queue (nil,
        procedure
        begin
          AfterLogin2 (Success);
        end
      );
    end
  ) .Start;
end;

procedure TFrmLogin.AfterLogin2 (Success: Boolean);
 begin
    if Success then
   begin

listvreq.Params.Clear;
listvreq.AddParameter ('type_store', ComboBox1.Selected.Text); /// ****
listvreq.ExecuteAsync (listv, true, true, listverr);
   end
   else
  begin
showmessage ('عفوا ...! لايمكن الاتصال بالخادم حاليا يرجى المحاولة لاحقا')
  end;


on server side:

procedure Tdm.DWEventsEventslistvReplyEvent (var Params: TDWParams;   var Result: string); 
var     type_store, erro: string; 
    usuario: TUsuario;  
   json: TJsonObject; 
begin  
   try
        sleep (4000);
        type_store: = Params.ItemsString ['type_store']. AsString;

        json: = TJsonObject.Create;
        usuario: = TUsuario.Create (dm.conn);
        usuario.type_store: = type_store;
    

    if NOT usuario.listv (erro) then   
      begin             //
 {"sucesso": "N", "erro": "Usu ل rio n م o informado", "codusuario": "0"} 
            json.AddPair ('sucesso', 'N' ); 
            json.AddPair ('erro', erro);  
        json.AddPair ('id_store', '');    
        json.AddPair ('nom_store', ''); 
        end         else         begin       
      json. AddPair ('sucesso', 'S');  
          json.AddPair ('erro', '');
          json.AddPair ('id_store', usuario.id_store.ToString);
             json.AddPair ('nom_store', usuario.nom_store);
        end;

        Result: = json.ToString;
    finally
        json.DisposeOf;
        usuario.DisposeOf;
    end; 

and in class i add called unit usuario
function TUsuario.listv (out erro: string): Boolean; 
var     qry: TFDQuery;
begin     try    
    qry: = TF DQuery.Create (nil);
        qry.Connection: = FConn;   
      with qry do         begin             
Active: = false;     
        SQL.Clear; SQL.Add ('SELECT * from saler WHERE type_store =: any');
             ParamByName ('any'). Value: = type_store;
                    Active: = true;

                        if RecordCount> 0 then
            begin
              id_store: = FieldByName ('id_store'). AsInteger;
                  nom_store: = FieldByName ('nom_store'). AsString;
             erro: = '';
                Result: = true;
            end
            else
            begin
              // id_store: = 0;
                erro: = 'تعذر جلب بيانات المعلنين';
                Result: = false;
            end;

            DisposeOf;
        end;

    except on ex: exception do
    begin
        erro: = 'ت في التحقق من صحة تسجيل الدخول:' + ex.Message;
        Result: = false;
    end;
    end;

Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi İle Instagram'da Otomatik Paylaşım Jakarta2 0 18 1 saat önce
Son Yorum: Jakarta2
Photo Delphi vcl projesine login form oluşturma tuna 15 632 15-05-2021, Saat: 20:41
Son Yorum: mrmarman
  Delphi İle Mobil Geliştirme Hakkında furkan.Dev 8 411 01-05-2021, Saat: 19:06
Son Yorum: furkan.Dev
  Delphi to .Net powerghost 2 325 26-04-2021, Saat: 14:10
Son Yorum: powerghost
  Delphi Speech to Text Halil Han BADEM 2 242 23-04-2021, Saat: 21:01
Son Yorum: Halil Han BADEM



Konuyu Okuyanlar: 1 Ziyaretçi