我使用了服务器端TFDConnection---TFDQuery---DataSetProvider的服务器端(网上很容易找到的新手教程)
客户端则使用TSQLConnection---ClientDataSet---BindSourceDB--grid来查询和显示数据
这部分我都模仿新手教程成功了并且在安卓端运行成功。
更新数据则是通过ClientDataSet的insert、edit、post、ApplyUpdates来实现。
但是更新数据就用这几个对于一个可用的安卓扫码出入库端来说实在是太薄弱了
1.请问大家有没有别的数据更新的方法能推荐给我去学习?或者类似PC端那种非常灵活的query的sql语句写在客户端里让服务器直接执行方式也好,特此求教
2.因为我的安卓端是局域网环境,请问有没有什么方法能够让安卓端直连sql数据库操作不通过datasnap来?这样会不会更有效率更好操作?(我自己在安卓端尝试用DriverID=MSSQL或者DriverName=MSSQL都无法通过安卓编译只能用于pc)3:我一直都是开发PC端,习惯了类似:
Query2.Edit;
Query2.FieldByName('kind').AsString := '手工单';
Query2.Post;Query1.close;
Query1.sql.clear;
Query1.sql.add('update tb1 set......');
Query1.ExecSQL;
这样的数据库操作模式和DBGRIDEH来控制记录集
请问安卓端没有类似DBGRIDEH这样的三方控件可用吗?

解决方案 »

  1.   

    使用DataSnap,这是比较成熟的技术。但它,需要服务器连接数据库。这样云数据库,不好连接。它的优势,就是富服务器,瘦 客户端。
    抛弃DataSnap,可以使用云数据库。数据处理上,需要APP直接处理。各有利弊。
      

  2.   

    直接操作SQL拉
    多方便
      

  3.   

    1. 使用SQL是没有限制的,可以直接在TFDQuery里写SQL
    2. 移动端直连Interbase、FireBird是可以的,但oracle、ms sql server不行,其他未测试
      

  4.   

    PS:第三方组件UniDAC和MyDAC可以从移动端直连大部分数据库系统
      

  5.   


    已经安装了UniDAC,放了一个UniConnection1上去结果安卓端编译就通不过了。莫非不是用这个去连?我需要连ms sql server。。
    大神,我没看明白怎么操作SQL的,这似乎不是安卓端啊?
      

  6.   

    unidac已顺利安装完成。原来是添加Library Path这一步我添加少了,安装教程不是针对安卓开发写的,因此没有写添加安卓Lib路径。还是安装三方控件不够多不熟悉规律啊
      

  7.   

    UniDAC 可以直接连接。