RTC搭建android下三层应用程序访问服务器MsSql-客户端

 

android下stringgrid已知问题:

通过点击时获取对应行的值有问题,在win下调试正常,在android下出现定位不准

二、客户端开发

    1,新建工程

    2,添加相关客户端控件TRtcHttpClient,TRtcClientModule,TRtcResult(2个)

   3,设置相关属性TRtcHttpClient的服务器地址,端口,TRtcClientModule的client设置,以及一个modulefilename

   4,编写TRtcResult代码

     select的TRtcResult代码

procedure TForm1.rtcrslt1Return(Sender: TRtcConnection; Data,
  Result: TRtcValue);
  var I:Integer;
begin
if Result.isType=rtc_Exception then
    begin
    btn1.Text:='error';
    end
  else if Result.isType=rtc_Null then
    begin
    btn1.Text:='NULL';
    end
  else
    begin
    //btn1.Text:=Result.asString;

    I:=0;
    Result.asDataSet.First;
     while not Result.asDataSet.Eof do
     begin


     strngrd1.Cells[0,i]:=Result.asDataSet.FieldByName('名字').asString;
     strngrd1.Cells[1,i]:=Result.asDataSet.FieldByName('生日').asString;
     strngrd1.Cells[2,i]:=Result.asDataSet.FieldByName('婚姻状态').asString;
     strngrd1.Cells[3,i]:=Result.asDataSet.FieldByName('年龄').asString;
     strngrd1.Cells[4,i]:=Result.asDataSet.FieldByName('联系人ID').asString;
     i:=i+1;


     Result.asDataSet.Next;
     end;

    end;

end;

     up的TRtcResult代码

btn2.Text:='修改影响记录条数:'+Result.asString;

读取数据代码

rtclntmdl1.StartCalls;

rtclntmdl1.Data.NewFunction('select');
rtclntmdl1.Call(rtcrslt1);
rtclntmdl1.Post;

更新数据代码:

with rtclntmdl1.Data.NewFunction('up') do
begin
  asWideString['a']:=edt_name.Text;//参数是中文的请用asWideString,不然服务端收到的参数是乱码
  asDateTime['b']:=edt_cs.Date;
  asInteger['c']:=StrToInt(edt_nl.Text);
  asInteger['d']:=StrToInt(strngrd1.Cells[4,strngrd1.Selected]);
end;
rtclntmdl1.Call(rtcrslt2);
end;

android下测试未见乱码

其他代码见demo!

http://pan.baidu.com/s/1cea38

android下stringgrid已知问题:

通过点击时获取对应行的值有问题,在win下调试正常,在android下出现定位不准

二、客户端开发

    1,新建工程

    2,添加相关客户端控件TRtcHttpClient,TRtcClientModule,TRtcResult(2个)

   3,设置相关属性TRtcHttpClient的服务器地址,端口,TRtcClientModule的client设置,以及一个modulefilename

   4,编写TRtcResult代码

     select的TRtcResult代码

procedure TForm1.rtcrslt1Return(Sender: TRtcConnection; Data,
  Result: TRtcValue);
  var I:Integer;
begin
if Result.isType=rtc_Exception then
    begin
    btn1.Text:='error';
    end
  else if Result.isType=rtc_Null then
    begin
    btn1.Text:='NULL';
    end
  else
    begin
    //btn1.Text:=Result.asString;

    I:=0;
    Result.asDataSet.First;
     while not Result.asDataSet.Eof do
     begin


     strngrd1.Cells[0,i]:=Result.asDataSet.FieldByName('名字').asString;
     strngrd1.Cells[1,i]:=Result.asDataSet.FieldByName('生日').asString;
     strngrd1.Cells[2,i]:=Result.asDataSet.FieldByName('婚姻状态').asString;
     strngrd1.Cells[3,i]:=Result.asDataSet.FieldByName('年龄').asString;
     strngrd1.Cells[4,i]:=Result.asDataSet.FieldByName('联系人ID').asString;
     i:=i+1;


     Result.asDataSet.Next;
     end;

    end;

end;

     up的TRtcResult代码

btn2.Text:='修改影响记录条数:'+Result.asString;

读取数据代码

rtclntmdl1.StartCalls;

rtclntmdl1.Data.NewFunction('select');
rtclntmdl1.Call(rtcrslt1);
rtclntmdl1.Post;

更新数据代码:

with rtclntmdl1.Data.NewFunction('up') do
begin
  asWideString['a']:=edt_name.Text;//参数是中文的请用asWideString,不然服务端收到的参数是乱码
  asDateTime['b']:=edt_cs.Date;
  asInteger['c']:=StrToInt(edt_nl.Text);
  asInteger['d']:=StrToInt(strngrd1.Cells[4,strngrd1.Selected]);
end;
rtclntmdl1.Call(rtcrslt2);
end;

android下测试未见乱码

其他代码见demo!

http://pan.baidu.com/s/1cea38