我的数据库中有一个表
表结构
ZAZHIMC  char  no  100
BIANMA  char  no  20
PINYIN  varchar  no  100
XINGMING  char  no  40
XINGBIE  char  no  2
CHUSHENGRQ  datetime  no  8
XUEKELEI  char  no  40
ZHUANYELEI  char  no  200
DANWEI  varchar  no  200
TONGXINDZ  varchar  no  200
YOUZHENGBM  char  no  6
DIANHUA  varchar  no  50
E_MAIL  varchar  no  150
RENYUANLEI  char  no  20
FENLEI  char  no  20
BEIZHU  text  no  16
PROVINCE  varchar  no  40
UID  varchar  no  20
UPassWord  varchar  no  20
ZhiWu  varchar  no  20
ZhiCheng  varchar  no  20
ZhaoPian  image  no  16
ZhaoPianLX  char  no  10
Fax  varchar  no  30
Ming  char  no  100
Xing  char  no  100
TongXinDZDZ  varchar  no  500
DanWeiXingZhi  varchar  no  40
DaoShi  varchar  no  500
XueSheng  varchar  no  500
YuYan  varchar  no  30
ZhaoShengXX  text  no  16
ShenGaoSD  varchar  no  20
ShenGaoTD  varchar  no  20
DingYueEmail  char  no  2
HTTP  varchar  no  200
Country  varchar  no  200
索引
IDX_XINGMING_CLUSTER  clustered located on PRIMARY  ZAZHIMC, RENYUANLEI
IDX_XINGMING_UNIQUE  nonclustered, unique located on PRIMARY  ZAZHIMC, RENYUANLEI, XINGMING
SQL语句:
select ZAZHIMC,BIANMA,PINYIN,XINGMING,XINGBIE,CHUSHENGRQ,XUEKELEI,ZHUANYELEI,DANWEI,TONGXINDZ,YOUZHENGBM,DIANHUA,E_MAIL,RENYUANLEI,FENLEI,BEIZHU,PROVINCE,UID,UPassWord,ZhiWu,ZhiCheng,Fax,Ming,Xing,TongXinDZDZ,DanWeiXingZhi,ShenGaoTD,ShenGaoSD,DaoShi,XueSheng,YuYan,ZhaoShengXX,DingYueEmail,HTTP,Country from RENYUANXX 
where RENYUANLEI="作者"
order by DANWEI,XINGMING我在程序中用DBedit,DBmemo等数据库控见显示用query(requestlive=true)选出的记录集
并用DBNavigator1控制字段的操作,但是当我第一次打开窗体(query.Open),修改一个字段值,并用DBNavigator1来post的时侯很慢,post进去以后,再Post就很快了,请问这是怎么回事,我已经Delphi编程两年了还是不知怎么回事!请知道的人指点一下好吗?

解决方案 »

  1.   

    后台是什么的?
    还有就是最好用Update语句来更新数据
      

  2.   

    可能是數據庫的原因,我也經常有這樣的感覺,就是在sql server的Enterprise Management裡面,open一個紀錄很多的表後,直接在裡面修改數據,第一次通過移動cursor來post的時候,也是好慢,第二次包括以後就很快了。
      

  3.   

    我直接用的导航控间的Post,我用的数据库是MSSQL server 2000
      

  4.   

    是的,道理是一樣的,不信你可以做個測試,你在sql server 2000的Enterprise Manager中打開一個表,然後改變它原有的"select * from tablename"語句,改成一個有where語句,有join(反正越複雜越好)的語句,執行。(注意,執行結果要能直接改的。如果你用到sum就改不了了)執行後,得到一個結果集,你隨便選擇某條紀錄的某個字段值,然後按一下鍵盤上方向鍵的上下鍵來post,你會發現,第一條紀錄post的時候,會很慢,以後就很快了。
    所以,我個人認為,這個是sql server本身的原因,和程序沒有直接關係.