procedure TForm1.Button1Click(Sender: TObject);
begin
  IdTcpClient1.Host := InputBox('connect', 'ip address', '127.0.0.1');    //sqlserver
  IdTcpClient1.Port := 1433;            //sqlserver tcp/ip
  try
    IdTcpClient1.Connect();             //这个地方编译出错误!
    if not IdTcpClient1.Connected then
    begin
      ShowMessage('无法连接数据库!!!');
      self.Close;
      exit;                             //ÎÞ·¨Á¬½Ósqlserver
    end
    else
    begin
      IdTcpClient1.Disconnect;          //Á¬½Ó³É¹¦;
      ShowMessage('连接成功!');
    end;
  except
    ShowMessage('无法打开数据库');
    application.Terminate;
  end;end;

解决方案 »

  1.   

    IdTCPClient1.Host := edit1.text  ;
      IdTCPClient1.Port := 1433;
      if not IdTCPClient1.Connected then
       begin
        IdTCPClient1.Connect  ;
        Showmessage('Connect OK!');
       end;
    这样也出现错误,错误信息为:socket error #10061 connection refused
    这个到底是为什么啊???
      

  2.   

    IdTCPClient1.Connect  ;
    这个语句执行后,出现上面的错误代码的!
      

  3.   

    使用netstat -na 查看是否存在1433端口可能是系统的原因 系统屏蔽了你的1433端口 你需要安装sqlserver sp3 或sqlserver sp4 可以解决问题