源码是:[code=procedure TForm1.BTNconneClick(Sender: TObject); 
begin
  if (Trim(EDuserName.Text)='')or (Trim(EdDBName.Text)='')then
  begin
    showmessage('请正确填写参数信息!');
    exit;
  end;  datamod.ADOConn1.Close;
  datamod.ADOConn1.ConnectionString:='provider=sqloledb.1;Persist SecurityInfo=True;UserID='+EDUserName.Text+';';
  if not (Trim(EDServername.Text)='') then
      datamod.ADOConn1.ConnectionString := datamod.ADOConn1.ConnectionString+'datasoure='+EDserverName.Text+';';
  if Trim(EDpassword.Text)='' then
  begin
    datamod.ADOConn1.ConnectionString := datamod.ADOConn1.ConnectionString+'password=''';
  end
  else
  datamod.ADOConn1.ConnectionString := datamod.ADOConn1.ConnectionString+'Password='+Edpassword.Text+';' +'initial catalog='+EDDBName.Text+'';
  try
  datamod.ADOConn1.Open;
  except
  application.MessageBox('对不起!参数设置错误,无法连接数据库!','参数错误',mb_ok+mb_iconerror);
  exit;
  end;
  application.MessageBox('参数设置成功!','参数正确',mb_ok+mb_iconexclamation);form2.show;
end;)][/code]编译时错误提示图:

解决方案 »

  1.   

    跟踪一下,connectionstring的值,与这个比较一下:
     Provider=SQLOLEDB.1;Password=futongsa;Persist Security Info=True;User ID=sa;Initial Catalog=ftkq;Data Source=192.168.122.99
    看看哪不对
      

  2.   

    datamod.ADOConn1.ConnectionString := datamod.ADOConn1.ConnectionString+'password=;'
      

  3.   

    因为大家都叫aiirii为阿日,避免重复,就改一下喽!
      

  4.   

    UserID='+EDUserName.Text+'
    这里有问题吧!
    User ID='+EDUserName.Text+' 
    user和ID之间空格
      

  5.   

    shift+ctrl+F11
    把Form2移到另一边!form2.show; 
    改成
    application.CreateForm(TForm2,Form2);
    Form2.Show;OK!!