程序编写的过程中,一直让数据模块中的ADOConnection的ConnectionString中有值,而且Connected一直为TRUE的。现在把字符串删掉,然后在程序里面赋值,再open。可以连上,其他模块都正常,就一个模块只要FormCreate,就会出现问题。
问题是:"用户Administrator登陆失败".
我用来连接数据库的代码如下:
  strCnn:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Pwd=;Initial Catalog=DBERP;Data Source=RPSVR';
  cnnErp:=TADOConnection.Create(Self);
  with cnnErp do begin
    Close;
    LoginPrompt:=False;
    ConnectionString:=strCnn;
    Open;
  end;
怎么解决啊?急!!!

解决方案 »

  1.   

    妈的,解决了,但是不知道为什么。
    我们这里窗体都不是直接用的TForm,而是做了个包含一些功能的通用窗体,然后其他窗体都从它继承过来。
    我就只在Form的OnCreate里面把这个Form上所有的数据集都来一次:
    With ADOQuery/ADOTable do begin
      Close;
      Connection:=DataModule.CnnERP;
      Open;
    end;
    就解决了,谁知道这是为什么啊?
      

  2.   

    没问题。我是这么做的。var
       s:widestring;
    begin
        s:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=127.0.0.1';
        adoconnection1.ConnectionString:=s;
        adoconnection1.Connected:=true;
        adoquery1.Active:=true;end;
      

  3.   

    靠~~~!找到问题了!!!
      strCnn:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Pwd=;Initial Catalog=DBERP;Data Source=RPSVR';
      cnnErp:=TADOConnection.Create(Self); //奶奶的,就是这句话
      with cnnErp do begin
        Close;
        LoginPrompt:=False;
        ConnectionString:=strCnn;
        Open;
      end;
    本来DataModule里面放了一个cnnERP(TADOConnection),有了这句后,就又创建了一个。
      

  4.   

    with ADOConnection1 do
              begin
              loginprompt:=false;
              connectionstring:='Provider=SQLOLEDB.1;Password=59011`;Persist Security Info=True;User ID=sa;Initial Catalog=student;Data Source=FREEMAN';
              connected:=true;
              end;
    data source是网络上邻居的计算机名
      

  5.   

    注意检查‘包含一些功能的通用窗体’或派生下来的窗体是否引用DB和Adodb