procedure TForm1.ADOConnection1WillConnect(Connection: TADOConnection;
  var ConnectionString, UserID, Password: WideString;
  var ConnectOptions: TConnectOption; var EventStatus: TEventStatus);
var
  filename:string;
begin
  filename:= ExtractFilePath(Application.ExeName)+'db1.mdb';
  ConnectionString:=connectstr1+filename+connectstr2;
     //connectstr1,2是接数据库的字符串
   // useriD:='';
 // password:='';end;
在这段代码调试到 ConnectionString:=connectstr1+filename;后,总是显示以下的提示:‘variable connectionstring inaccssible here to due to ooptimization;

解决方案 »

  1.   

    先静态设置ConnectionString,再与动态生成的结果比较。
      

  2.   

    采用何种连接方式没有填
    比如   JET OLE DB 4。0
      

  3.   

    为sql server2000
        FileName := ExtractFilePath(application.ExeName)+'\Sys.ini';
        GetPrivateProfileString('DBMS','username','',username,20,pchar(filename));
        GetPrivateProfileString('DBMS','servername','',servername,20,pchar(filename));
        GetPrivateProfileString('ver','ver','',version1,20,pchar(filename));
        ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False'+
                          ';User ID='+username+';Password=12345'+';Initial Catalog=manage'+
                          ';Data Source='+servername+';';
        ADOConnection1.ConnectionString:=ConnectionString;
        ADOConnection1.LoginPrompt:=False;