我想在txt中直接生成 update insert 形式的语句。 不知道用哪种方法可以实现,你能不能给我说一下。 用下面这种方法对吗? while not adoquery1.Eof do begin memo1.Lines.add('update set from partymember where bid='+adoquery1.fields[0].asstring+''); adoquery1.next; end; memo1.lines.savetofile('d:\gh.txt'); end;
客户端使用的是Access数据库,那么首先检索出修改过的数据集,然后将该数据集保存为TXT文件(比较通用,也好处理,但是需要知道服务器端接受的文件格式,也就是协议。通常情况下可以把每一条记录在这个TXT文件中保存为一行,然后每个字段数据之间用特定的符号分割,其中常用的分隔符有“,”、“^”、“|”等等)。
服务器端接受到这个符合自己规范的TXT文本,就按照协议的规则来解析还原这个数据集,然后更新数据。基本的道理就是这样的啦,其中的关键就是在客户端生成的文件可以被服务器端识别。实在是不清楚你的具体需求,是原理不清楚,还是不能生成代码,如果还有需求,明天晚上我会给你答复的!
2|JACK|2363.90
3|ROSE|30982.37
……那么服务器就一行一行的读取这个TXT文件,然后把“1|TOM|1234.32”分割成1、TOM、1234.32,然后就更新ID为1的数据,以此类推即可。
update
insert
形式的语句。
不知道用哪种方法可以实现,你能不能给我说一下。
用下面这种方法对吗?
while not adoquery1.Eof do
begin
memo1.Lines.add('update set from partymember where bid='+adoquery1.fields[0].asstring+'');
adoquery1.next;
end;
memo1.lines.savetofile('d:\gh.txt');
end;
如果你仅仅想生成一个SQL文本,那么用一个TStrings类就可以了,就是一个字符串数组,它也提供了一个SaveToFile的方法的;