是不是delphi5?
打补丁试试!

解决方案 »

  1.   

    给delphi的ado加个包看看,inprise就有下
      

  2.   

    ado的两个升级补丁都装了,数据也是没有问题的,我在程序里做了好多次的,在程序里频繁地对数据进行操作,不至这一处的,在其它过程中没有问题(当然程序流程处理方面也是不同的,但对数据库的操作类型是一致的)to Focus:您所说的数据可能有问题能具体点吗,给我一个提示性的,OK? thanks!!!
      

  3.   

    应该不是补丁的原因,出现这样的错误可能是变量越界,仔细debug
      

  4.   

    请高手们,多出点子!这个问题使我的工作受阻了,进行不下去,程序这么不稳定如何向老公交待啊????help?!!!
      

  5.   

    if (result=0) or (result=10) then
                    begin
                        with adoquery2 do
                        begin
                            close;
                            sql.clear;
                            sql.add('SELECT * FROM tab_message where mes_id=:mes_id');
                            parameters.parambyname('mes_id').value:=mes_id;
                            open;
                        end;                    if adoquery2.fieldbyname('receiver_id').asstring<>'0' then          
                        begin
                            with adoquery3 do
                            begin
                                close;
                                sql.clear;
                                sql.add('update tab_message set message_state=1 where mes_id=:mes_id');
                                parameters.parambyname('mes_id').value:=mes_id;   
                                execsql;//有问题!!!!!!
                            end;                        with adoquery3 do
                            begin
                                close;
                                sql.clear;
                                sql.add('delete from tab_log where mes_id=:mes_id');
                                parameters.parambyname('mes_id').value:=mes_id;
                                execsql;//有问题!!!!!!
                            end;
                        end
                        else
                        begin
                            with adoquery3 do
                            begin
                                close;
                                sql.clear;
                                sql.add('delete from tab_log where receiver_id=:receiver_id and mes_id=:mes_id');
                                parameters.parambyname('mes_id').value:=mes_id;
                                parameters.parambyname('receiver_id').value:=receiver_id;
                                execsql;//或者是这边有问题!!!!!!
                            end;//都是些随机性的异常!
                        end;
                        success:=true;
                    end;
                    logwaitflag:=0;
      

  6.   

    出现这样的问题一般是你的数据库表之间具有关联,删除或更新有时会出错。在建立表的关系时候,设置级联式更新删除,应该可以解决你的问题的。要是不是以上解答,你可以打开MS SQL Server的SQL调试工具SQl Profiler,看看到底出错在那里。
      

  7.   

    to bigshaw:但是我用的数据库是MYSQL的,数据库里好象没有关联的概念啊?!!再说了,我们也没有建立过任何的表与表之间的关联?!您能再给我一些提示或是建议吗????谢谢!
      

  8.   

    你能肯定不是数据库关联?
    你在query analyzer中试着运行你的select、update、delete,
    看在那里报不报错
      

  9.   

    在出错前查一下进程,看看数据表是不是在别的某个地方被占用着。
    我从前遇到过类似的问题,不过是因为我在Form的create事件里调用DataModule中的ADOQuery的方法(此时DataModule还没被create),异常好象和你那个差不多。你应该不会犯同样的错误吧?
      

  10.   

    如果是DELPHI5.0的话,可以试一试下面的方法。
    似乎重装DELPHI可以解决问题。重装以后,把AUTOEXEC.BAT文件中关于DELPHI的东西全删即可。
      

  11.   

    parameters.clear
    是时候清一下了。
      

  12.   

    begin
                        with adoquery2 do
                        begin
                            close;
                            sql.clear;
                            parameters.clear;                    sql.add('SELECT * FROM tab_message where mes_id=:mes_id');
                            parameters.parambyname('mes_id').value:=mes_id;
                            open;
                        end;                    
      

  13.   

    to wangfei62753449:已经在DELPHI6中重新编译也是同样的异常啊?!还有其它办法吗?
    to yxjjx(孤行者):异常是随机性的,在一般的运行中,肯定没有问题的,还有其它办法吗
    ??
    谢谢大家的帮助与支持,问题依然存在,请大家多出主意吧!!!!
      

  14.   

    我特别想要ADO升级包!那位有的话,帮帮忙,发到[email protected]
      

  15.   

    和我碰到的问题差不多,我用的是delphi6
      

  16.   

    用adoquery1.edit or adoquery1.insert吧