我是用的是TDCOMConnection组件,并实现了从客户端传
select * from table1 到应用服务器的查询操作,但
不知怎样实现如下命令:
update table1 set field1=field1+100 where field1>50
它要用到Tdatasetprovider的哪些事件、方法、属性

解决方案 »

  1.   

    还有,如果where field1>50 中的
    50要由客户端的客户输入,又该如何
    实现?
      

  2.   

    动态生成SQL语句,然后将其赋给CommanText,如果是Select可以Open,其它的可以用Execute;
      

  3.   

    update table1 set field1=field1+100 where field1>50
    我试了一下用commandtext,在客户端运行上面一命令提示
    commandtext changes are not allowed
    然后再查询一下table1发现相应记录又实现了更新,这是
    怎么一回事,请指教
      

  4.   

    DataSetProvider的Opetions设poAllowCommandText为True
      

  5.   

    TOMWLD(笑天):
     设了opetions,又提示:
    Invalid use of keyword
    Token:SUCCESSFULLY
    Line Number: 1
      

  6.   

    直接在客户端写Update语句:
    With dm.Data.temp do
    begin
        Close;
        CommandText:='Update Pacts Set Act=0 Where   Sale='+dm.Data.Pacts.FieldByName('Sale').AsString;
        Execute;
    end;
      

  7.   

    就是: star_of_light(星星之光) 的做法
      

  8.   

    结帖:TOMWLD(笑天):20分
    star_of_light(星星之光):10分
     ihihonline(小小->简单些再简单些,平淡些再平淡些):10分dyf2001(西风) :5分BoningSword(【浩少】):5分