各位大哥大姐们好!
    我在学习dephi 7的过程中遇到了一个问题,是这样的:我定义了单元级变量
    var
  MainForm: TMainForm;
  vlogin:string;
  vloginname:string
  vloginstatus:string;
  myinifile:tinifile;
   我又在该程序所在的目录下建立了一个dblink.ini的文件,一开始我已经建立了一个名字为hotelmanage的ODBC数据源 ini文件如下:
  ;database link information file
  [dblinkstr]
  dbstring=provider=msdasql.1;password=;(密码为空)
  persist security info=true;user id=vista(数据库用户);data source=hotelmanage
可是在运行的时候就出现错误,vloginstatus:string;该行有错.是怎么会事呢?

解决方案 »

  1.   

    procedure Tf_main.FormCreate(Sender: TObject);
    var filename:string;
         sserver,sdatabase,suser,spassword:string;
    begin
    //读取INI文件的数据库连接信息
        filename:=Extractfilepath(paramstr(0))+'dblink.ini';
        myinifile:=tinifile.Create(filename);
        sserver := myinifile.ReadString('dblinkstr','Data Source','');
        sdatabase := myinifile.ReadString('dblinkstr','Initial Catalog','');
        suser := myinifile.ReadString('dblinkstr','User ID','');
        spassword := myinifile.ReadString('dblinkstr','Password','');
    //写连接字符串
        ADOConnection1.Connected:=false;
        ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=' + spassword + ';Persist Security Info=True;User ID=' + suser + ';Initial Catalog=' + sdatabase + ';Data Source=' + sserver;
    //准备连接
    try
        ADOConnection1.Connected:=true;
    except
        begin
        showmessage('数据库连接失败,请检查dblink.ini文件中的连接信息的设置是否正确!');
        f_dblink:= Tf_dblink.Create(self);
        f_dblink.ShowModal;
        end;
    end;
    配置文件写法:
    [dblinkstr]
    Data Source=USER-D51640F944
    Initial Catalog=analysys
    User ID=sa
    Password=123
      

  2.   

    与Ini没关系
    自己Debug发现问题去
      

  3.   

    什么错误,是不是没有引用Tinifile那个单元?
      

  4.   

    vloginname:string
    上面加;
      vloginstatus:string;
      

  5.   

    前面刚刚解决,又出现麻烦拉!
    说该行myinifile:tinifile;出错说没有发现tinifile这个文件,晕死!
      

  6.   

    楼上的大哥们,问题还在啊```用inifile代替tinifile还是出错啊``
      

  7.   

    各位大哥大姐们好!
        我在学习dephi 7的过程中遇到了一个问题,是这样的:我定义了单元级变量
        var
      MainForm: TMainForm;
      vlogin:string;
      vloginname:string--这里好像应该加个分号吧,你说呢?
      vloginstatus:string;
      myinifile:tinifile;
       我又在该程序所在的目录下建立了一个dblink.ini的文件,一开始我已经建立了一个名字为hotelmanage的ODBC数据源 ini文件如下:
      ;database link information file
      [dblinkstr]
      dbstring=provider=msdasql.1;password=;(密码为空)
      persist security info=true;user id=vista(数据库用户);data source=hotelmanage
    可是在运行的时候就出现错误,vloginstatus:string;该行有错.是怎么会事呢?
      

  8.   

    回GARNETT2183(極品狼王) 请问要怎么样才能引用Tinifile哪个单元啊~~!
    tinifile不是dephi自带的吗~~~?
      

  9.   

    uses inifiles;
    /读IniFile文件数据
    function ReadFromSystem(sGroup: string; sField: string; var sValue: string; sFile:
      string): integer;
    //写Inifile文件数据  
    function WriteToSystem(sGroup, sField: string; sType: Byte; sValue: string; sFile:
      string): Integer;function ReadFromSystem(sGroup, sField: string;
      var sValue: string; sFile: string): integer;
    var
      tSystemData: TInifile; //配置文件
    begin
      //读取配置文件
      tSystemData := TIniFile.Create(sFile);
      try
        sValue := tSystemData.ReadString(sGroup, sField, '');
      finally
        tSystemData.Free;
      end;
      Result := 0;end;function WriteToSystem(sGroup, sField: string; sType: Byte; sValue: string; sFile:
      string): Integer;
    var
      tSystemData: TIniFile;
    begin
      tSystemData := TIniFile.Create(sFile);
      try
        case sType of
          0: tSystemData.WriteString(sGroup, sField, sValue);
          1: tsystemdata.WriteInteger(sGroup, sField, StrToInt(sValue));
          2:
            if (sValue = '1') or (UpperCase(sValue) = 'TRUE') then
              tSystemData.WriteBool(sGroup, sField, True)
            else
              tSystemData.WriteBool(sGroup, sField, False);
        end;
      finally
        tSystemData.Free;
      end;
      Result := 0;
    end;
      

  10.   

    回vokeyliu(vokey),多谢你的善意也是教导的提醒,要写程序是必须静下心来,慢慢的写,慢慢的改,我想从你的语气之中使我无地自容,但是我会知错就改的,再次谢谢你!
      

  11.   

    在单元的开始几行不是有个包含接口吗?比如:
    unit U_main;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, ImgList, DB, ADODB, mxOutlookBarPro, ComCtrls,
      jpeg, SkinCaption, WinSkinData,IniFiles;
    你看到最后一个IniFiles了吗?
    不是把程序里myinifile:=tinifile.Create(filename)改成myinifile:=inifile.Create(filename)
      

  12.   

    我在单元里面引用inifile的时候就出现MAIN.PAS(7): File not found: 'inifile.dcu'错误.
    我在单元里面引用inifile的时候就出现MAIN.PAS(7): File not found: 'tinifile.dcu'错误.
      

  13.   

    我在单元里面引用inifile的时候就出现MAIN.PAS(7): File not found: 'inifile.dcu'错误.
    我在单元里面引用inifile的时候就出现MAIN.PAS(7): File not found: 'tinifile.dcu'错误.
    ---------------------------------------------------------------------------------
    这就是说你在uses里没有加上那个IniFiles 这一项啊