在数据库登录时,不要弹出登录对话框而直接登录进去(DELPHI_BDE)zt
万幸:
请问:我现在的数据库放在服务器上,现用BDE来连接。我想在用户登录时,不要弹出登录对话框而直接登录进去,我试过你们说的方法,设为table1.Database.LoginPrompt:=False(前面只提供了数据库名和表名),但他总是报错!如果没有这一句,等它弹出对话框后输入用户名和密码,则可以使用数据库。请问应该如何解决?不胜感激!
回答:
在Delphi中,有Database元件和对象,Database对象有属性:Params和LoginPrompt,充分使用这两个属性就会自动Login数据库。下面的例程就会自动Login。
例:新建一程序(Project),在Form上放置Table,Database,DataSource,DBGrid各一个,并通过Object Inspector将DBGrid的DataSource指向DataSource,DataSource的DataSet指向Table。双击Form,进入Form1的Create事件程序代码编辑,输入:
Database1.Connected:=False;
Database1.Params.Values['USERNAME']:='SYSDBA';
Database1.Params.Values['PASSWORD']:='masterkey';
Database1.LoginPrompt:=False;
Database1.DatabaseName:='MYDB'; //MYDB是数据库别名。Database1.AliasName可以不设
Table1.DatabaseName:='MYDB';
Table1.TableName:='EMPLOYEE';
Table1.Open;
运行程序(Run, F9)则可以自动Login Interbase,将数据表中的数据显示在DBGrid中。 对于不需要用户名和密码的ODBC驱动,可以设置USERNAME和PASSWORD为空。