query.edit?????????没见过这样修改的呀

解决方案 »

  1.   

    呵呵,加一个UpdateSQL,让TQuery的UpdateObject连接这个UpdateSQl。当然需要到UpdateSQL中设置一下SQL语句,很简单的,双击一下这个控件,就可以出来一个编辑器帮助你生成。
      

  2.   

    你试试把Query的ReQuestLive值赋为False之后在设置成True,我记得我以前好像也碰过这种问题,好像就是这样解决的!!如果通过了记得给分
      

  3.   

    re:chechy(chechy) 
    好像还是不行呀!
    出现一样的错误
      

  4.   

    re:kals(卡斯)
    高手们能讲讲问题出现的原因吗?
      

  5.   

    将Query的ReQuestlive属性改为True!!快给分来!
      

  6.   

    kals(卡斯)
    hyj_online()
    query.requestlive已设为true
    还是不行!!!!!!
      

  7.   

    应该不会。你这样的问题,我已经得过很多分了。有没有设置正确是关键。
    其实,只要UpdateObject连上TUpdateSQL(无论里面SQL是否正确,当然不正确不能写回数据库),RequestLive设为True,那么Query立刻不是只读的。
    仅仅RequestLive变为True是不行的,因为你的SQL语句中有Order by
      

  8.   

    chechy(chechy) 大哥
    我要是照着你的设置的话,已开始运行就会出现错误edbengineError :capability not supported,所以我只能在代码中设 RequestLive变为True
    还是出错!
      

  9.   

    不会吧。
    你用的是什么数据库,如果是SQL SERVER的话,贴出数据库脚本,并给出你的MAIL,我给你发个示范程序。
      

  10.   

    chechy(chechy) 
    我用的是oracle
    email:[email protected]
      

  11.   

    我这里只有SQL Server没有Oracle咋办?发给Paradox的给你?
      

  12.   

    chechy(chechy) 大哥
    我看帮助好像oracle 和paradox这个地方很不一样
    不过我还是很想看看
    谢谢你发mail给我
      

  13.   

    Chen Jiangyong
    首先谢谢你!但接着还不得不麻烦你.
       我现在的问题是如果在object inspector中将requsetlive设为true,运行时便会出现EDBEngineError:capability not supported
       如果在程序中将requsetlive设为true,运行到query.edit时 ,便会出现EDBEngineError:
    can not modify a  read_only dataset.
       但是你发过来的程序时可以正常运行的.
       会不会是oracle的限制问题?
       
      

  14.   

    我怀疑你的程序在日期判断上有问题,这么写导致了Delphi产生这个错误。
    我建议你使用参数。
    即将SQL改为:where print_date>=:printdate
    然后用
    query1.ParambyName('printdate').AsDatetime := StrToDate('2000/1/13');
    这样,应该没问题了吧。
      

  15.   

    日期判断是没有问题的
    我在sql explorer 里能够正确的返回结果集
    我的oicq号:9297475
      

  16.   

    是没有问题,但是在RequestLive为True下可能会导致错误。所以建议你改换方式。
    我不用QQ。你可以EMAIL联系我。
      

  17.   

    不好意思,一直到现在才能上网,开始漏了说,你的QUERY必须先关闭,如下:
    Query.Close;
    Query.ReQuestLive:=False;
    Query.ReQuestLive:=True;
    Query.Open;
    Query.Edit;
    从你的语句上来看,应该是Oracle,是不是??
    TO:chechy(chechy) 如果是Paradox或者其他本地库的话,加上Order By 是不能实现的(或者我太菜),在Oracle或者SQL Server等大一点的数据库像我所说的绝对可以!