我在主表单中放了DATABASE控件,并将LOGIN设为FALSE,为什么启动时仍会出现数据库登录窗口??

解决方案 »

  1.   

    不会吧?
    你的table 控件连接了DataBase控件了吗?
      

  2.   

    转载   Delphi & C++ Builder其实在本质上是一致的,所以我所有的文章都是基于Delphi的,但是使用C++ Builder 的朋友可以稍加修改(语法上)就可以应用在C++ Builder上了。 
        在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.Params.Values['USERNAME']:='SYSDBA'; 
         Database1.Params.Values['PASSWORD']:='masterkey'; 
         Database1.LoginPrompt:=False; 
         Database1.DatabaseName:='MYDB'; 
         Database1.AliasName:='IBLOCAL'; 
         Table1.DatabaseName:='MYDB'; 
         Table1.TableName:='EMPLOYEE'; 
         Table1.Open; 
        运行程序(Run, F9)则可以自动Login Interbase,将数据表中的数据显示在DBGrid中。 
    注:由于Delphi 3安装不会自动安装Interbase数据库程序,所以如果运行以上程序必须安装Interbase。但是可以使用其他的数据服务器,如Oracle或Sybase,ODBC等。对于不需要用户名和密码的ODBC驱动,可以设置USERNAME和PASSWORD为空。 
      

  3.   

    我做了,但是不行。
     我设了databasealiase ,但是table的database的名称仍要关联数据库别名,而不是database1,为何?
      

  4.   

    uses DBTables; //引用 Session.AddPassword('Password'); 其他不用修改!!
      

  5.   

    记得将database的connected属性改为false;     Database1.Params.Values['USERNAME']:='';
         Database1.Params.Values['PASSWORD']:='';
         Database1.LoginPrompt:=False;
         Table1.TableName:='table_a';
         Table1.Open;
    其他的属性不用写代码,直接填上去就行了
      

  6.   

    关键是table1的databasename一定要你输入数据库别名,而不是database1.
      

  7.   

    那你在把database的Active改为True时会要登录口令吗?我是说直接用属性设置,而不是用代码设置。