相关提问:
http://topic.csdn.net/u/20090206/22/7bede279-431e-449d-9441-296d405cd04f.html
DAO+ACCESS远程查询
不用共享方法,用C/S方式
S负责数据更新与查询,
现在的问题是:
C与S间是采用WINSOCK传送的,
S查询的记录集怎么样传送给C?
盼解答..

解决方案 »

  1.   

    能具体说下怎么操作吗?特别是如何将数据集还原成DAO可直接使用的记录集.且在有效率.
      

  2.   

    S端把查询结果序列化通过Winsock送到C端,C端再反序列化取出数据!
      

  3.   

    建议改用 ADO。
    ADODB.RecordSet.Save(FileName) 可以将保存成文件(序列化),而 ADODB.RecordSet.Open(FileName) 方法可以从文件中恢复记录集(反序列化)。
    用文件可以得到文件长度,每次发送时就先发文件长度,再发文件内容。
    接收段就按照{文件长度,内容}的次序切割数据,解决了"粘包"问题。
      

  4.   

    用WEB方式 交换数据 简单 方便    连数据引擎都不用引用  
      

  5.   

    桌面程序
    其他因素决定了一定要使用DAO。
    所以很郁闷ing
      

  6.   

    用adodb.stream转化的,可以在recordset和字节流之间进行转换
      

  7.   

    远程查询?要么通过B/S模式,要么就用SQL+ADO吧.都是很方便的.
      

  8.   

    定义一个特殊值作为包与包之间的标志,可实现接收端的粘包识别,但不适用于包含二进制数据的内容。
    至于DAO还是ADO只是S端访问数据库的过程而已,与数据传送无关。
      

  9.   

    现在数据传送的粘包是解决了。
    发送每个包前先来4位数标明长度,
    收数据时,先收4位,再按长度接收。。
    现在被卡位的是:
    以字符串传过来的数据,如果做成DAO的RES
    再次请大家别用ADO说事了。
    我知道ADO很容易做取将字符还原成记录集。
    我现在用的是DAO。
    且,现在已经有一个笨办法:将字符串写成文件,
    再用访问文本数据库的方式,用DAO读取一次。
    但觉得效率不是很高。
    老要写盘。严重影响速度。
    不过,速度还是比ADO来得快。
    我再将这个问题挂几天,看谁有更好的办法??