偶在DataModule1中加入Database1,手工设置如下:
Name:MainDB  Alias:空  Driver Name: MSSQL
..
DATABASE NAME=power
SERVER NAME=myserver
USER NAME=sa
....
(密码为空)然后运行程序正常,Query1可以正常打开资料库POWER中的表格;但是如果我采用以下方法就不行,将Database1设置为defaults,然后在程序中读取参数配置,结果是Database1连接可以通过,但是Query1打开Database1中的Table时会报错"Table does not exist";如果Database1保持先前的设置,那么无论在程序中如何配置,都会连接到资料库POWER, Query1打开Table正常。
具体的过程如下:
procedure TDataModule1.DataModuleCreate(Sender: TObject);
begin
  Database1.connected:=False;
  try
    Database1.Params.values['DATABASENAME'] := 'power';
    Database1.Params.values['SERVER NAME'] := 'myserver'
    Database1.Params.values['USER NAME'] := 'sa';
    Database1.Params.values['PASSWORD'] := '';
    Database1.Connected := True;
  except
      halt;
  end;
end;

解决方案 »

  1.   

    期待ing.......那位高手来帮忙?TKS!急。急。急。
      

  2.   

    郁闷ing......帖子从50分加到100分了,怎么还没人来救我!very 郁闷ing......
      

  3.   

    顶!偶自己也来顶,顶阿顶,顶阿顶.......咦,高手出现了xixi
      

  4.   

    资料库Power中有一Table名为aplus
    Query1的SQL非常简单,如下
    select * from aplus order by sz001
      

  5.   

    Database1.Params.values['DATABASENAME'] := 'power';
    改成
    Database1.params.add('DATABASENAME=power');
    .....
    database1.Params.Add('USER NAME=sa');
    依次类推,就可以了
      

  6.   

    TO: bluemeteor(挂月||╭∩╮(︶︿︶)╭∩╮)   非常感谢你的帮助,我测试一下;如果OK,马上给分。
      

  7.   

    如果先建立好DSN,bluemeteor(挂月||╭∩╮(︶︿︶)╭∩╮) 和楼主的代码都可以连接上,也能顺利找到表;我是在Oracle上实现的.
      

  8.   

    TO: bluemeteor(挂月||╭∩╮(︶︿︶)╭∩╮)   你的方法可以解决问题。感激ing.....  放在这里给大家再看看,对像我这样的菜鸟或许有帮助。  下午结贴给分。再次对bluemeteor表示感谢!