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

一、服务端

在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

时间: 2024-10-06 13:15:22

XE5 ANDROID通过webservice访问操作MSSQL数据库的相关文章

DotnetCore之旅(4-1)---使用EF操作Mssql数据库

首先,创建数据库并创建数据表 测试数据表建表脚本 1 USE [JobDb] 2 GO 3 4 /****** Object: Table [dbo].[Account] ******/ 5 SET ANSI_NULLS ON 6 GO 7 8 SET QUOTED_IDENTIFIER ON 9 GO 10 11 CREATE TABLE [dbo].[Account]( 12 [Id] [uniqueidentifier] NOT NULL, 13 [Code] [nvarchar](50)

使用SQL脚本访问操作远程数据库

1 USE [Hik] 2 GO 3 /****** Object: StoredProcedure [dbo].[sp_test] Script Date: 08/21/2015 09:55:21 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET QUOTED_IDENTIFIER ON 7 GO 8 -- Batch submitted through debugger: SQLQuery17.sql|7|0|C:\Users\a\AppData\Local\Te

mysql创建新用户并授权访问操作该数据库

1.mysql -uroot -p 2.输入密码: 3.update mysql.user set authentication_string=password('123456') where user='oneuser' and Host = '%'; 4.grant all privileges on onetable.* to [email protected]'%' identified by '123456'; 5.flush privileges; 然后外部连接数据库.

XE5 Android 开发数据访问server端

http://www.cnblogs.com/key-ok/p/3326064.html http://www.cnblogs.com/key-ok/p/3326055.html http://www.cnblogs.com/key-ok/p/3359205.html 龟山: http://www.cnblogs.com/onechen/category/564500.html

Unity操作MS-SQL数据库

原文地址:https://www.cnblogs.com/linhongquan/p/8379826.html

无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap

android操作sqlite数据库及心得

写这篇文章主要是网上的对sqlite的操作太多且太杂,很多时候都不能很好的运用到自己的项目中,结构不清晰,我自己写了一篇适合刚刚接触的人看的操作方法. 近来用android时要将一些数据保存起来,一开始用的是preferences,后来要保存的东西多了,发现用preferences明显不能满足要求了,而且发现用这个的话代码就变得有点乱了,所以才开始学习使用sqlite数据库,一开始以为不就是个数据库么,和平时的mysql啊或者是sqlserver都一样,都很简单的,但后来真正在用的时候才发现困难

MSSQL只能访问特定的数据库

让用户只能访问特定的数据库(MSSQL) 背景 客户的SQL Server实例上有多个厂商的数据库,每个数据库由各自的进行厂进行商维护, 为了限定不同厂商的维护人员只能访问自己的数据库,现需要给各个厂商限定权限,让他们登录SQL Server只能看到授权的数据库而无法看到其他数据库. 解决方案 1.先给不同的厂商创建不同的登录名(如下以一个厂商为例) 2.将登录名加入到public服务器角色中,然后点击确定 3.将待授权的数据库的dbowner指派给该用户 Use [xjcs] go EXEC

Android Afinal框架学习(一) FinalDb 数据库操作

框架地址:https://github.com/yangfuhai/afinal 对应源码: net.tsz.afinal.annotation.sqlite.* net.tsz.afinal.db.sqlite.* net.tsz.afinal.db.table.* net.tsz.afinal.utils.ClassUtils.net.tsz.afinal.utils.FieldUtils FinalDb 建库 FinalDb db = FinalDb.create(context, "my