privatr 
 ADOINIfile:Tinifile
function TDataAbout.SetADO(PW, UserID, InitialCatalg, DataSource,
  DBName: OleVariant): OleVariant;
var
filename,Adostr:string;
begin
  result:=0;
  AdoStr:='Provider=SQLOLEDB.1;'+
          'Password='+PW+';'+
          'Persist Security Info=True;'+
          'User ID='+ UserID+';'+
          'Initial Catalg='+ InitialCatalg+';'+
          'Data Source='+ DataSource+';'+
          'Use Procedure for Prepare=1;'+
          'Auto Translate=True;'+
          'Packet Size=4096;'+
          'Use Encryption for Data=False;'+
          'Tag with column collation when possible=False';      Filename:='AdoCon.ini';
     //filename:=ExtractFilePath(paramstr(0)) + 'ADOcon.ini';
   if result=0 then
     try
       AdoIniFile:= Tinifile.Create(Filename);
     except
       result:=1;
     end;   if result=0 then
     try
       AdoIniFile.WriteString('DefaultSet','Set',dbName);
       AdoIniFile.WriteString(dbName,'constr',Adostr);
       AdoIniFile.WriteString(dbName,'defaultDatabase',InitialCatalg);
     except
       result:=2;
     end;   if result=0 then
     try
       AdoIniFile.Destroy;
     except
       result:=3;
     end;
end;
我不知道为什么不能创建ADOcon.INI文件。程序调试没有问题,郁闷啊GGJJ请帮我,发了工资请你们吃饭。谢谢!

解决方案 »

  1.   

    你试试::
    filename:=ExtractFilePath(application.exename) + 'ADOcon.ini';
       if result=0 then
         try
           AdoIniFile:= Tinifile.Create(Filename);
         except
           result:=1;
         end;
      

  2.   

    这不是一样吗? 只是产生的文件路径不同而已,而且还编译不过去说什么ExtractFilePath函数不能引用。郁闷。
      

  3.   

    interfaceuses
      SysUtils, Classes,inifiles,forms,windows;自己去看看。你的引用单元
    还有
    adoini.free;
      

  4.   

    hehe, 在ExtractFilePath上按一下F1,然后在帮助里看unit那一行,吧那个unit放在你的uses里
    就可以引用了,看了你的第二个问题,可能有些比较基础的东西还不是很清楚,可以找一本入门书照着上面一步一步作出来试试
      

  5.   

    谢谢!我会努力的。那个问题我解决了。
    就是我在ASP中调用的时候出了问题。
    <% Set DelphiASPObj = Server.CreateObject("denglu.DataAbout")
       DelphiASPObj.setAdo("密码","用户名","数据库名","服务器","demo")
    %>
    但是无法正确的返回,数据库启动的结果。
    怎么解决。