我要更新BookTable里的IsBorrow字段,把它的值设为true;代码如下      DataModule2.BookADOQ.Close;
      DataModule2.BookADOQ.SQL.Clear;
      DataModule2.BookADOQ.SQL.Add('update BookTable set IsBorrow=:IsBorrow where Bno=:Bno');
      DataModule2.BookADOQ.Parameters.ParamByName('IsBorrow').Value:='true';
      DataModule2.BookADOQ.Parameters.ParamByName('Bno').Value:=DBEdit2.Text;
      DataModule2.BookADOQ.ExecSQL;
      showmessage('借阅成功');我用断点跟踪,上面的语句每条都有执行,但是为什么最后值还是没有改变呢?

解决方案 »

  1.   

     DataModule2.BookADOQ.Parameters.ParamByName('IsBorrow').Value:='true'; DataModule2.BookADOQ.Parameters.ParamByName('IsBorrow').Value:=true;   //表中字段类型是不是逻辑型
      

  2.   

    呃  不是~是varchar型的那逻辑型是哪一种?MSSQL里好像没有boolean可以选啊
      

  3.   

    呃 我数据表里设置的是varchar型的  这边用:='true'应该也可以吧  把‘true’这个字符串赋给它应该没错吧。。
      

  4.   

    DataModule2.BookADOQ.Parameters.ParamByName('IsBorrow').asstring:='true'
      

  5.   

    这肯定是你的SQL的条件有问题,不知道你表中Bno是什么类型的,具体你再检查下吧