ADOConnection和ADOTable在delphi中的使用ADOConnection和ADOTable在delphi中像许多书中教的那样设置好连接上数据库(我用的SQLServer),运行没有问题。然后我修改,目的是可以修改连接数据库而不用在delphi中修改ADOConnection的ConnectionString属性,还不出现连接对话框。修改步骤:将LoginPrompt设置为false,将ConnectionString属性清空,添加连接代码conStr:='Provider=SQLOLEDB.1;Password=1982072019;User ID=sa;Initial Catalog=StorageManagement;Data Source=10.16.99.175';
  try
    loginForm.tempADOConnection.ConnectionString :=conStr;
    loginForm.tempADOConnection.Connected := true;
  except
    messagedlg('数据库连接有误!!请检查DataConfig.XML',mtConfirmation,[mbOk],0);
    Application.Terminate;
  end;这样程序运行起来,连接数据库是没有问题的。但出现的问题是在dlephi中ADOTable控件是不能连接表的,因为 ConnectionString属性没有值。报错为“无效的授权说明”。如何既能在delphi中使用ADOConnection和ADOTable控件,又可以不出现那个讨厌的连接对话框。我是从下面这位兄弟哪儿转过来的,我遇到的问题与他一样。不知道该如何解决,请各位帮一下忙啦!
http://edu.codepub.com/2009/0720/10330.php

解决方案 »

  1.   


    conStr:='Provider=SQLOLEDB.1;Password=1982072019;User ID=sa;Initial Catalog=StorageManagement;Data Source=10.16.99.175';
      try
        loginForm.tempADOConnection.close;
        loginForm.tempADOConnection.ConnectionString :=conStr;
        loginForm.tempADOConnection.open;
      except
        messagedlg('数据库连接有误!!请检查DataConfig.XML',mtConfirmation,[mbOk],0);
        Application.Terminate;
      end;这样改一下试试呢
      

  2.   

    ADOConnection.Connected的值是被动的,当连接成功后值为true,连接不上为false,通常是用来判断ADOConnection是不是已经连接到数据库了。
      

  3.   


    我试了一下还是不行。。我上将上面的代码放在数据模块里的OnCreate(即当数据模块建立时,执行上面的代码)中的,是不是要放于其它事件中呢?
      

  4.   

    AdoTable你设置了它的数据源没?
      

  5.   

    一。 将adoconnection的active设为false
    二。 将所有相应的adoquery的active设为falase三。主窗体create时赋值给adoconnection的connectionstr.
    四。在主窗体show时adoconnection.open.
    五。在需要用adoquery时才adoquery.open.