• Webservice 返回数据集 DataSet 及Android显示数据集LiveBindings


    一、服务端

    New TSoapDataModule

    添加控件 TDataSetProvider,TClientDataSet,TADOQuery,TADOConnection

    添加方法

    function TsoapTest.Getdata(const sql: UTF8String): Variant;
    begin
      dm.ADOQuery1.Close;
      dm.ADOQuery1.sql.Text := 'select top 50 * from mz';
      dm.ADOQuery1.Open;
      dm.ClientDataSet1.Data := dm.DataSetProvider1.Data;
      Result := dm.ClientDataSet1.XMLData;
    end;

    客户端VCL

    procedure TForm25.btnGetDataClick(Sender: TObject);
    begin
        HTTPRIO1.URL := 'http://localhost:8080/soap/IsoapTest';
      ClientDataSet1.XMLData := (HTTPRIO1 as IsoapTest).Getdata('');
    end;

    Android客户端

    FireMonkey客户端平台

    • StringGrid显示数据
    procedure TForm4.btnGetDataSetClick(Sender: TObject);
    var
      i: Integer;
    begin
      HTTPRIO1.URL := 'http://localhost:8080/soap/IsoapTest';
      ClientDataSet1.XMLData := (HTTPRIO1 as IsoapTest).Getdata('');
    
      i := 0;
      StringGrid1.RowCount := ClientDataSet1.RecordCount;
      while not ClientDataSet1.Eof do
      begin
        StringGrid1.Cells[0, i] := ClientDataSet1.FieldByName('代码').AsWideString;
        StringGrid1.Cells[1, i] := ClientDataSet1.FieldByName('民族').AsString;
        StringGrid1.Cells[2, i] := ClientDataSet1.FieldByName('拼音码').AsString;
        i := i + 1;
        ClientDataSet1.Next;
      end;
    end;

    • android 用Grid展示数据

      HTTPRIO1.URL := 'http://localhost:8080/soap/IsoapTest';
      ClientDataSet1.XMLData := (HTTPRIO1 as IsoapTest).Getdata('');

    运行 LiveBindings Wizard向导 选择Grid>ClientDataSource就关联上了,不用写代码数据就出来了

    StringGrid、Grid都可以这样!!

  • 相关阅读:
    136-如何访问redis数据库
    135-如何实现result风格
    134-SpringMVC中的值,会有一个默认值
    133-this知识点
    132-SpringBoot中的请求方法
    034-405是什么错误?
    131-逆向工程配置文件
    SQL---实验一
    《将博客搬至CSDN》
    正则表达式1---QQ号合法性判断
  • 原文地址:https://www.cnblogs.com/cb168/p/3891761.html
Copyright © 2020-2023  润新知