在delphi 中使用ADO连接数据库, 在设计环境下执行程序, 出现"灾难性故障"错误. 但是直接执行EXE执行文件不会出现错误, 不知道是何原因?

解决方案 »

  1.   

    单步调试时, 当执行到AdoConnection1.Connected := True 时出现错误. 连接字符串是
      CONNECTION_STRING = 'Provider=SQLOLEDB.1;'
                        + 'Password=%s;'
                        + 'Persist Security Info=True;'
                        + 'User ID=%s;'
                        + 'Initial Catalog=%s;'
                        + 'Data Source=%s';奇怪的是在DELPHI 下"Run" 就出错误   但执行程序就不会出现错误
      

  2.   

    你用的是什么版本的delphi?注意检查一下,你有没有打补丁
      

  3.   

    这就要看你有没有在程序上加  Try了,如果加了在执行EXE时是不会出错的,在调试状态下它会出错。很有可能是你的数据库连接字符串借了。
      

  4.   

    应该是:
      单步调试时, 当执行到AdoConnection1.Connected := True 时出现错误. 连接字符串是 
      CONNECTION_STRING = 'Provider=SQLOLEDB.1;' 
                        + 'Password=%s;' 
                        + 'Persist Security Info=True;' 
                        + 'User ID=%s;' 
                        + 'Initial Catalog=%s;' 
                        + 'Data Source=%s'; 
      这部分有关的内容出错,你是怎么给CONNECTION_STRING 进行字符串格式化的???
      

  5.   

    可能是你的ado连接字符串问题,不用格式化字符,换成普通的字符串进行连接,如果没有错误就是格式化字符串的问题,要不就是delphi版本的问题。
      

  6.   

    我也有这种情况出现.所以我就到EXE文件运行,如何办呀.
      

  7.   

    你把AdoConnection1.Connected := True 执行之前的CONNECTION_STRING 内容showmessage下,看看你的数据源链接情况再说。