DBExpress 变更数据么?------------------50分(50分)

  • 主题发起人 主题发起人 zqssoft
  • 开始时间 开始时间
Z

zqssoft

Unregistered / Unconfirmed
GUEST, unregistred user!
看资料上说,DBExpress的TSQLDataSet和TSQLQuery控件不能变更数据,只能查询数据。而只有TClientDataSet可以变更数据。但效率有时不太好。
可我在Delphi编辑器中,发现TSQLDataSet和TSQLQuery控件也有.Edit,.Append,.Post等修改和添加的方法啊,为什么就不能变更数据呢?
如果真的不能变更数据,那么我用TSQLDataSet和TSQLQuery直接执行SQL语句呢,能添加编辑和变更数据记录么?
以上两个问题弄得很是晕,希望各位大侠给予明确的解答,谢谢。
 
要使用TClientDataSet和TDatasetProvider
 
楼上的大哥,你说的方法我知道,但有时TClientdataset加载太多数据时,效率不高。
如果用如下的形式,则也可以添加一行记录啊,这又怎么能说SQLQuery不能变更数据呢,如果用SQL语句,则可以:
self.SQLQuery1.SQL.Clear;
self.SQLQuery1.SQL.Add('insert into main (title) values (''55555555555555555555555'') ') ;
self.SQLQuery1.ExecSQL(true);
 
虽然TSQLDataSet和TSQLQuery提供了.append和.edit还有.post方法,但用如下的语句添加一行数据,则提示不行,说数据集只读,我晕,那他干嘛要提供这几个不能用的废方法呢。
self.SQLQuery1.Append;
self.SQLQuery1.FieldByName('title').AsString:='7777777777777777777';
self.SQLQuery1.Post;
 
请了解DBExpress的大侠详细解释一下这其中的误解,还有他们的关系。以及开发程序时,添加,修改,删除数据时,到底用那个控件,如果数据量很大,比如100万条的情况下?这时用哪个控件效率高一些。谢谢!
 
TSQLDataSet和TSQLQuery控件可以用SQL语句进行数据的的增删改操作,TSimpeDataSet可以使用TSimpeDataSet.append这类方法。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3909991
 

Similar threads

后退
顶部