如何可以在数据窗体中实现adoconnect的活动连接,即读取ini中的数据库路境.

解决方案 »

  1.   

    如果只有一个数据库路径
    而且是和当前可执行文件路径有关的话你可以动态获得路径
    用extractxxxxx
    我也记不住了:(up
      

  2.   

    FileName := ExtractFilePath(application.ExeName)+'\Sys.ini';
      

  3.   

    var  linkstr:string;
         f:textfile;
    begin
      try
        assignfile(f,ExtractFilePath(application.ExeName)+'\base.ini');
        reset(f);
        readln(f,linkstr);
        linkstr:=linkstr+ExtractFilePath(application.ExeName)+'data\jxc.mdb;';
        adoc.Connected :=false;
        adoc.ConnectionString:=linkstr;
        adoc.Connected :=true;
        closefile(f);
      except
        APPLICATION.Terminate;
      end;
    //如果在数据窗口执行此代码需手工加上forms单元!
      

  4.   

    如果没有Application用
    ExtractFilePath(ParamStr(0))
    也可以
      

  5.   

    FileName := ExtractFilePath(application.ExeName)+'Sys.ini';这样才对
      

  6.   

    不大明白,不过,好像不是很难一样;
    DataModuleCreatevar DataBaseName,
        ConnectStr:ansiString;
        RationDataBaseName : AnsiString;
    begin
      flag:=false;
      listbox1.Items.Clear;
      OpenDialog1.Title:='打开工程项目';
      OpenDialog1.InitialDir := ExtractFilePath(Application.ExeName) + '新建项目';
      if OpenDialog1.Execute then
      begin
        //设置连接字符串
        DataBaseName:=OpenDialog1.FileName;
        ConnectStr:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DataBaseName+';';
        ProjectDatamodule.ProjectConnection.Connected:=false;
        ProjectDatamodule.ProjectConnection.ConnectionString:='';
        ProjectDatamodule.ProjectConnection.ConnectionString:=ConnectStr+'Persist Security Info=true';
        ProjectDatamodule.ProjectConnection.Connected:=true;
    .........
      .........