一,网格重新刷新试试,如果确定SQL语句正确的话,是因为数据在数据库中已删除,二、跟踪执行的SQL语句,看是否正确及已执行

解决方案 »

  1.   

    数据库里数据还是存在的
    跟踪了一下,执行时直接从
    if dgMultiSelect in DBGMain.Options then begin
    跳到
     strSeq := DBGMain.DataSource.DataSet.FieldByName('fbill_no').AsString;
    中间删除语句并没有执行
    之前的代码是链接access的,这回的是Oracle,会不会是因为这个,语句有问题?
      

  2.   

    有可能
    之前的是是链接access,这回的是Oracle
      

  3.   

    有可能
    之前的是是链接access,这回的是Oracle
    拿着两个差别挺大的,两个的SQL在很多细节上不同。access和SQL Server都有不少不同。
      

  4.   

    有可能
    之前的是是链接access,这回的是Oracle
    拿着两个差别挺大的,两个的SQL在很多细节上不同。access和SQL Server都有不少不同。
    但是我其他调用Oracle的语句也是用sql来直接写的,可以正常读取和修改,就是这个删除出现了问题
      

  5.   

    将sql语句取出来在查询分析器里执行试试
      

  6.   

     ExecSQL(ADOQry, sqlstr, 2); 没有执行这个 怎么会删除呢 你只是组合成字符串了
      

  7.   

        这句我添加上去了,但是提示“Undeclared identifier”
    该如何定义ExecSQL呢?
      

  8.   

    有可能
    之前的是是链接access,这回的是Oracle
    拿着两个差别挺大的,两个的SQL在很多细节上不同。access和SQL Server都有不少不同。
    但是我其他调用Oracle的语句也是用sql来直接写的,可以正常读取和修改,就是这个删除出现了问题
    SQL规定并不详细,很多都是厂商自定义的。