手工创建program.ini文件,用于连接数据库,然后调用这个ini文件,连接数据库,语句:
Filename:=ExtractFilePath(Paramstr(0))+program.ini;
myinifile:=Tinifile.Create(filename);
编译通过,但在执行时,点击连接数据库,弹出错误提示:无效的授权说明
----这是什么原因?请各位大虾给个解决的建议,急,谢先!

解决方案 »

  1.   

    var
      tempIni: TIniFile;
    begin
      tempIni :=TIniFile.Create(extractfilepath(ParamStr(0))+'sys.ini');
      SQLServerName := tempIni.ReadString('SYSTEM', 'SERVER', '');
      SQLDBName := tempIni.ReadString('SYSTEM', 'DBNAME', '');
      Password := tempIni.ReadString('SYSTEM', 'Password','');
      tempIni.Free;
      

  2.   

    Filename:=ExtractFilePath(Paramstr(0))+program.ini;//看看这里
    Filename:=ExtractFilePath(Paramstr(0))+'program.ini';再看看你ini配置文件中的内容是否正确。
      

  3.   

    上面提到的我都写进去了的
    我的配置文件格式是这样的,我是调用本地机器上的SQL Server (Local)
    ;连接查询数据库
    [DBConncetSel]
    User_name=
    Password=
    Server_Name=Local
    DB_Name=TestSms
    ;连接录入数据库
    [DBConncetIns]
    User_name=
    Password=
    Server_Name=Local
    DB_Name=TestSms
      

  4.   

    刚才步进运行程序,发现程序进行到ADOConnection1.Open时出错,说是“无效的授权声明”
      

  5.   

    很可能是你的连接字符串本事就不对,你把连接字符串直接赋值进去,不从Ini读取,看看是否报错。
      

  6.   

    在open处设断点,查看一下connection的连接字符串,并复制出来,退出后到connection里面直接放进去,看看该字符串有效不
      

  7.   

    在open处设断点,查看一下connection的连接字符串,并复制出来,退出后到connection里面直接放进去,看看该字符串有效不
    --------F7执行到Open处,弹出无效的授权说明,然后怎样操作才能象你上面所说的这样
      

  8.   

    FileName:=ExtractFilePath(Paramstr(0))+'DBConnect.ini';
      myinifile:=Tinifile.Create(FileName);
      //连接查询数据库
      ADOConnectionSel.Close;
      strSel_UserName:=myinifile.ReadString('DBConnectSel','User_Name','');
      strSel_Password:=myinifile.ReadString('DBConnectSel','Password','');
      strSel_Server:=myinifile.ReadString('DBConnectSel','Server_Name','');
      strSel_Database:=myinifile.ReadString('DBConnectSel','DB_Name','');  strSel:='Provider=SQLOLEDB.1;Password='+strSel_Password
          +';Persist Security Info=True;User ID='+strSel_UserName+';Data Source='+strSel_Server
          +';Initial Catalog='+strSel_Database+';';
      ADOConnectionSel.ConnectionString:=strSel;
      ADOConnectionSel.Open;
    -----这是读ini文件连接数据库的全部代码,连接的是本地数据库Local,ini文件在上面已经给出了,请大虾们指点迷津
      

  9.   

    晕,在 ADOConnectionSel.Open;处设置断点,运行到这里的时候 ,将鼠标放在adoconnectionsel上面,按 ctrl + F8(F7 忘了), 再adoconnectionsel后面加.connectionstring回车, 晕,不会调试我就没办法了啊~~~~
      

  10.   

    谢谢dabaicai,这是结果'Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=;Data Source=Local;Initial Catalog=TestSms;'---好象没看出有什么问题啊
      

  11.   

    你把这个字符串拷出来,停止运行程序,到编辑状态下,把这个字符串直接放到adoconnection控件的connectionstring属性里面去,然后将connect(Active不记得)置为true,看能否成功
      

  12.   

    出错了,[ConnectionOpen(Connect)]SQL Server不存在或拒绝访问--什么意思?何解
      

  13.   

    唉,你还是先通过点击控件connectionstring后面的...进入向导,把连接字符串搞定,然后拷到代码里面加参数吧,有些东西不好说明白
      

  14.   

    程序应该没有问题,除了这个连接外,原来是用ADOEd单元动态弹出连接设置框的,现在要用配置文件了,继续改吧
      

  15.   

    在dabacai和wudi_1982的提示下解决了问题,谢谢楼上的各位虾士