相关提问:
http://topic.csdn.net/u/20090206/22/7bede279-431e-449d-9441-296d405cd04f.html
DAO+ACCESS远程查询
不用共享方法,用C/S方式
S负责数据更新与查询,
现在的问题是:
C与S间是采用WINSOCK传送的,
S查询的记录集怎么样传送给C?
盼解答..
http://topic.csdn.net/u/20090206/22/7bede279-431e-449d-9441-296d405cd04f.html
DAO+ACCESS远程查询
不用共享方法,用C/S方式
S负责数据更新与查询,
现在的问题是:
C与S间是采用WINSOCK传送的,
S查询的记录集怎么样传送给C?
盼解答..
ADODB.RecordSet.Save(FileName) 可以将保存成文件(序列化),而 ADODB.RecordSet.Open(FileName) 方法可以从文件中恢复记录集(反序列化)。
用文件可以得到文件长度,每次发送时就先发文件长度,再发文件内容。
接收段就按照{文件长度,内容}的次序切割数据,解决了"粘包"问题。
其他因素决定了一定要使用DAO。
所以很郁闷ing
至于DAO还是ADO只是S端访问数据库的过程而已,与数据传送无关。
发送每个包前先来4位数标明长度,
收数据时,先收4位,再按长度接收。。
现在被卡位的是:
以字符串传过来的数据,如果做成DAO的RES
再次请大家别用ADO说事了。
我知道ADO很容易做取将字符还原成记录集。
我现在用的是DAO。
且,现在已经有一个笨办法:将字符串写成文件,
再用访问文本数据库的方式,用DAO读取一次。
但觉得效率不是很高。
老要写盘。严重影响速度。
不过,速度还是比ADO来得快。
我再将这个问题挂几天,看谁有更好的办法??