帮帮忙,BDE的怪现象(0分)

  • 主题发起人 主题发起人 awind616
  • 开始时间 开始时间
A

awind616

Unregistered / Unconfirmed
GUEST, unregistred user!
同志们好!
database1.aliasname:='aaa';
database1.databasename:='bbb';
database1.connected:=true;
table1.databasename:='bbb'
table1.tablename:='ccc';
table1.active:=true;
当执行到最后面那句的时候,总是出错:unknown database.
alias:bbb.
这是什么原因?aaa为已经建立好了的别名。
有时候就算是在开发环境中,给Tdatabase控件设置好别名,数据库名,并将connected设置为true.
当要设置控件Table的databasename属性时,在该属性的下拉列表框中却找不到Tdatabase控件的数据库名。
有时候找得到,有时候找不到。这是什么原因?

对啦,还有个问题,我在代码编辑器中按 ctrl+shift+c的时候不会产生代码框架(函数框架等),
这是什么原因。而去别的机子试,却可以。
 
database1.aliasname:='bbb';//
database1.databasename:='aaa';//
database1.connected:=true;
table1.databasename:='bbb'
table1.tablename:='ccc';
table1.active:=true;
 
table的databasename应该是database组件的databasename
试试看:ctrl+shift+空格
 
报这个错应该是database1还没有连接上aliasname数据库,也就是说database1.connected = false
 
楼上的这位兄弟,说的对。但是还是会出现unkown database 的问题,按理说是不会出现这问题的。
我是这样的:Table1.databasename:=database1.databasename;

Ctrl+shift +空格 也不行。是不是跟键盘设置有关。
我用的是Delphi6 ,而且使用了Delphi 6的升级包的。

而对于hupeh兄弟的那种设置是不对(那种当然也可以访问),是跳过了TDatabse的管理。
 
我给出原来的代码吧:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
AList,AList1:TStringList;
session1:TSession;
database1:Tdatabase;
Table1:TTable;
begin
try
session1:=TSession.Create(self);
session1.SessionName:='session1' ;
Session1.Active:=true;
database1:=TDatabase.Create(self);
Table1:=TTable.Create(self);
AList:=TStringList.Create;
with AList do
begin
add('USER NAME=sa');
add('Password=china');
end;
AList1:=TStringList.Create;
with AList1 do
begin
add('SERVER NAME=DATA');
Add('database name=wxf');
Add('USER NAME=sa');
Add('Password:=china');
end;
if session1.IsAlias('hamth') then
session1.DeleteAlias('hamth');
session1.AddAlias('hamth','MSSQL',AList1);
database1.Params:=AList;
database1.AliasName:='hamth';
database1.SessionName:='session1';
database1.DatabaseName:='dadatype';
database1.LoginPrompt:=false;
Database1.connected:=true;
Table1.DatabaseName:=database1.DatabaseName;
Table1.TableName:='dbo.country';

DataSource1.DataSet:=Table1;
Table1.Active:=true;
finally
AList.Free;
AList1.Free;
end;
end;
先说明:
数据库中是存在相应的表,而且检测database已经连接上了数据库(也就是database1.connected:=true)./
按理说以上代码应该是没有错误,但就是报:unkown database.
alias:XXXX
其中:XXX为 database1.databasename。
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
777
DelphiTeacher的专栏
D
D
回复
0
查看
825
DelphiTeacher的专栏
D
后退
顶部