cnn.ini文件如下:
[server]
dataServer=user  
Database=greyclothsystem ()
User ID=sa
Password=richarduser为我的计算机名,PB1为我的数据库服务器名,出现‘用户User登录失败’procedure TDM.DataModuleCreate(Sender: TObject);
var
  strCnn: WideString;
  iniFile: TIniFile;
  strDatabase, strDataServer, strUserID, strPW: string;
  strTemp: string;
begin
  strTemp := ExtractFilePath(ParamStr(0)) + 'data\cnn.ini';
  try
    iniFile := TIniFile.Create(strTemp);
    strDataServer := iniFile.ReadString('Server', 'DataServer', '');
    strDatabase := iniFile.ReadString('Server', 'Database', '');
    strUserID := iniFile.ReadString('Server', 'User ID', '');
    strPW := iniFile.ReadString('Server', 'Password', '');
  finally
    iniFile.Free;
  end;
  strCnn := 'Provider=SQLOLEDB.1;Password=' + strPW;
  strCnn := strCnn + ';Persist Security Info=True;User ID=';
  strCnn := strCnn + strUserID;
  strCnn := strCnn + ';Initial Catalog=' + strDatabase;
  strCnn := strCnn + ';Data Source=' + strDataServer;
  try
    with DM.conn do
    begin
      Connected := False;
      ConnectionString := strCnn;
      Connected := True;
    end;
  except
    MessageBox(0, '连接数据库失败'#13'请确认数据库程序是否启动', '系统提示',  MB_ICONERROR);
    Halt(0);
  end;
end;

解决方案 »

  1.   

    filename := ExtractFilePath(paramstr(0)) + 'dbconf.ini';
        myinifile := Tinifile.Create(filename);
        //ActiveX.coInitialize(nil);
        tempstr := myinifile.ReadString('dbconf', 'connectstring', '');
        dm.adoconmain.Close ;
        dm.adoconmain.LoginPrompt :=false;
        dm.adoconmain.ConnectionString := tempstr ;    dm.adoconmain.Connected :=true;
        try
            dm.adoconmain.Connected := true;
        except
            dm.adoconmain.ConnectionString := 'Provider=SQLOLEDB.1;Password=siwi;Persist Security Info=True;User ID=sa;Initial Catalog=ICBC;Data Source=15.64.1.98';
            dm.adoconmain.Connected := true;
        end;
        if dm.adoconmain.Connected = false then
            showmessage('不能打开您所指定的数据库!');
       // ActiveX.coUnInitialize;