有关clientdatset存储的问题(100分)

  • 主题发起人 主题发起人 jumphigh
  • 开始时间 开始时间
J

jumphigh

Unregistered / Unconfirmed
GUEST, unregistred user!
有关clientdatset存储的问题
cds1.FieldByName('Vspelling').asstring:=edit1.Text;
cds1.FieldByName('Vexplain').asstring:=dbmemo1.Text;
cds1.FieldByName('Vexemplify').asstring:=dbmemo2.Text;
cds1.Insert;
cds1.Post;
cds1.SaveToFile('Vuser.cds');
//为什么这句话没有作用,
我在添加recoed之后,savetofile 可是Vuse.cds还是和原来一样
 
delphi中有一个公文包的例子,里面演示了savetofile的用法(//.../delphi/demo/midas/brfcase)
相信你能解决。
 
更正:
delphi中有一个公文包的例子,里面演示了savetofile的用法(//.../delphi/ado/brfcase)
相信你能解决。
 
你的程序运行如下:
>>cds1.FieldByName('Vspelling').asstring:=edit1.Text;
>>cds1.FieldByName('Vexplain').asstring:=dbmemo1.Text;
>>cds1.FieldByName('Vexemplify').asstring:=dbmemo2.Text;
已上语句能不报错就执行? 是否你前面某个地方已经使当前记录进入编辑状态了?
或者你用了Try而没有在except中处理错误?
因为这些语句明显是修改当前记录的'Vspelling', 'Vexplain'和'Vexemplify'者三个字段
的当前记录值.
>>cds1.Insert;
如果是你的正常意图的话, 这句将对当前记录所做的修改cancel, 然后添加一条空记录.
>>cds1.Post;
>> 将添加的空记录写盘
>>cds1.SaveToFile('Vuser.cds');
//为什么这句话没有作用,
如果没有报错的话, 那么这句话已经执行了, 你所认为的没用大概是因为添加的记录为
空, 所以你没注意到
 
是啊!
Insert后就跟Post等于什么也没做!如果真是想插入一条记录.应该:
cds1.Open;
cds1.Insert;
cds1.FieldByName('Vspelling').asstring:=edit1.Text;
cds1.FieldByName('Vexplain').asstring:=dbmemo1.Text;
cds1.FieldByName('Vexemplify').asstring:=dbmemo2.Text;
cds1.Post;
//cds1.ApplyUpdates(0);
cds1.SaveToFile('Vuser.cds');
如果你的:cds1.Insert;是为了下面的cds1.Post;而添加的,那就换成cds1.Edit;.
 
agree Another_eYes, wang3003
 
cds1.edit;
cds1.FieldByName('Vexemplify').asstring:=dbmemo2.Text;
cds1.post;
----it is all.
 
多人接受答案了。
 
后退
顶部