android service 访问数据库,XE5 ANDROID通过webservice访问操作MSSQL数据库

XE5 ANDROID通过webservice访问操作MSSQL数据库 上接XE5 ANDROID平台 调用 webservice 一、服务端 在ro里添加函数(在impl上添加阿东connection,adoquery,dataprovider) function TNewService.getdata(const sqlstr: Utf8String): Variant; begin qry1.Cl

XE5 ANDROID通过webservice访问操作MSSQL数据库

上接XE5 ANDROID平台 调用 webservice

一、服务端

在ro里添加函数(在impl上添加阿东connection,adoquery,dataprovider)

function TNewService.getdata(const sqlstr: Utf8String): Variant;

begin

qry1.Close;qry1.SQL.Text:='';

qry1.SQL.Text:=sqlstr;

qry1.Open;

ds1.Data:=dtstprvdr1.Data;

Result:=ds1.XMLData;//传一个xmldata给客户端

end;

二、客户端调用同,添加wsdl,XE5 ANDROID平台 调用 webservice

客户端添加HTTPRIO,stringgrid等(fmx数据显示暂时无类似datagrid的)

读取数据代码

HTTPRIO1.URL:='http://192.168.1.103:8099/SOAP';

ClientDataSet1.XMLData:=(HTTPRIO1 as soap.NewService).getdata('SELECT top 10 [EmployeeID],[EmployeeName],[DepartmentID] FROM [GM_MT].[dbo].[GM_KQ_Employee]');

while  not ClientDataSet1.Eof do

begin

StringGrid1.Cells[0,i]:=ClientDataSet1.FieldByName('EmployeeID').AsWideString;

StringGrid1.Cells[1,i]:=ClientDataSet1.FieldByName('EmployeeName').AsString;

StringGrid1.Cells[2,i]:=ClientDataSet1.FieldByName('DepartmentID').AsString;

ListBox1.Items.Add(ClientDataSet1.FieldByName('EmployeeName').AsWideString);

i:=i+1;

ClientDataSet1.Next;

end;

现在遇到的问题是客户端显示中文有乱码!暂时未解决,,客户端使用了ANSITOUTF8未解决

10-10 中文乱码已解决:数据库中文字段一定要设置为nvarchar

?shareid=1663812760&uk=4127515284

posted on

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值