超级菜鸟级问题。
一个窗体中有TDbGrid, TDataSource, TAdoQuery。
请问当新增记录的时候是用Sql语句好,还是用Append和Post好,如果用Sql语句,那么要再重新执行"select * from tablename where....",DbGrid中才有记录,不然没有,这样速度会不会更慢呢。
请大侠们指教!
问题点数:20、回复次数:12Top
1 楼SnakeguoII(Guoguo)回复于 2002-05-30 17:23:43 得分 5
我觉得还是用Append和Post好,如果数据量很大的话,用Select *...会影响效率Top
2 楼qybao(阿宝)回复于 2002-05-30 17:26:33 得分 5
两个TAdoQuery,一个用于Insert或Update,一个用于select,用Sql语句就不用重新select了,只要用于select的TAdoQuery刷新就可以了
ADOQuery2.Active := False;
ADOQuery2.Active := True;
这样相对比较灵活,如果只有一个TAdoQuery,还是用Append和Post方便些,否则真的要重新select了,不过你可以用个字符串变量把select语句写好,这样就可以ADOQuery.SQL.Add(字符串变量)就可以了,相对也方便些Top
3 楼nne998(☆☆☆☆☆☆☆伴月)回复于 2002-05-30 17:27:06 得分 0
随便。。Top
4 楼andyting(andyting)回复于 2002-05-30 17:44:59 得分 5
Append和Post好Top
5 楼CeleronII(抽烟的鱼)回复于 2002-05-30 17:45:43 得分 0
看你喜欢了Top
6 楼taxi(当时明月在,曾照彩云归)回复于 2002-05-30 18:05:04 得分 0
这应该不是喜欢不喜欢的问题,而是效率的问题,哪个方法效率高呢?Top
7 楼Danphel(Aleon)回复于 2002-05-30 18:13:56 得分 0
应该还SQl效率高Top
8 楼slley(一剑下天山)回复于 2002-05-30 18:15:45 得分 0
sqlTop
9 楼peng_2001(求教)回复于 2002-05-30 18:36:50 得分 0
一般都是用SQL中的INSERT
不过我呢?懒,就用APPEND了Top
10 楼deluxtx(大熊恒久远,一只永流传。百年之熊,DeBears)回复于 2002-05-30 18:39:41 得分 0
单机用APPEND
如果数据量大的话.用SQL就会很慢的Top
11 楼taxi(当时明月在,曾照彩云归)回复于 2002-05-30 20:29:39 得分 0
>> Danphel(泽泽) :还是Sql效率高。
如果用Sql,DataSet控件还需要刷新一次才能在DBGRid中看到新增的记录呀,不过效率会高吗。Top
12 楼ihihonline(潇潇->戒烟)回复于 2002-05-31 08:19:22 得分 5
当然是Insert,它的效率最高;
而且,每次都不经过绶存,好吧;Top
13 楼ihihonline(潇潇->戒烟)回复于 2002-05-31 08:25:13 得分 0
嘻嘻,可是没有返回值的,刚刚忘了Top




