首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

[新手]dbgrid中插入记录时的有关问题

2012-02-08 
[新手求助]dbgrid中插入记录时的问题说明:数据库是paraodx7,数据库引擎是BDE的query(query1.Requestlive

[新手求助]dbgrid中插入记录时的问题
说明:
数据库是paraodx7,数据库引擎是BDE的query(query1.Requestlive = true)

在使用query1.insert命令时,是在当前记录前面插入记录,我希望是在后面。准确的说,我希望是在我所点击的gbgrid的条目的下面插入新的记录。

我试过这样的:
query1.next;
query1.insert;

但不行,因为有两点,第一:我发现执行insert命令后,看似在我所点击的gbgrid下插入了一条新纪录,但等我编辑完,随便点一下其他地方,这条新的记录就会自动跑到所有记录的最下面去了;
第二:先next再insert,如果是对最后一条记录执行这个操作的话,insert后,看似是在我点击的gbgrid最后一条条目的上面插入了新记录,但编辑完后就自动跑到下面去了。和“第一”差不多反一反,但都是“看似”怎样,实际却不是,这样不好,我希望能统一。

不知道我说明白没有~~~总的来说,我是希望操作时符合我们平时习惯~~


[解决办法]
主要是看你数据集的SQL语句,按一定原则排序了。
delphi跟VF不一样。发VF的数据库中,如果不用SQL语句的,inert 与append是不一样的,inert默认是插在当前记录之前的,append是追加记录,是在最后。
delphi的数据表连接控件基本上都是基于SQL语句的,所以它的inert与append基本上都是一样的,是在文件最后的,除非你设置了排序语句。

热点排行