如何设置权限?

04-06-25 hjh303cn
我用的是Jbuilder9,j2skd1.4.2,我要做的是“手机号码管理系统”,现在要做的就是用户登陆这一块。输入“用户名”和“密码”按“确定”就登陆界面,如果是“管理员”的话就大开所有的菜单,如果是“操作员”的话就打开部分的菜单。我按书上写的程序如下:

void jButtonOK_actionPerformed(A ctionEvent e) {

String strSQL;

if(jTextFieldName.getText().trim().equals(""))

{JOptionPane.showMessageDialog(null,"用户名不能为空!") ;

return;

}

if(jPasswordField.getText().trim().equals(""))

{JOptionPane.showMessageDialog(null,"密码不能为空,请重新输入!") ;

return;

}

strSQL="select * from UserInfo where Username='"+jTextFieldName.getText().trim()+"'and Password='"+jPasswordField.getText().trim()+"'";

rs = gb.getResult(strSQL);

boolean isexist=false;

try {

isexist = rs.first() ;

}

catch(Exception ex1){

}

if(!isexist)

{JOptionPane.showMessageDialog(null,"用户名不存在,或密码不正确!") ;

myMain.setEnable(false,false);

this.dispoes();

}

else

{

try{

rs.first() ;

if(rs.getString("Power").equals("管理员") ){

JOptionPane.showMessageDialog(null,"Sussceful!") ;(问题就在这里,下注:)

myMain.setEnabled(true,true);

this.dispose();

}

else

{

myMain.setEnable(true,false) ;

this.dispose() ;

}

}

catch(Exception ex){

}

}

}

问题在于“ myMain.setEnabled(true,true);”没有实现其功能,当我把这行放在:

myMain.setEnabled(true,true);

JOptionPane.showMessageDialog(null,"Sussceful!") ;

this.dispose();

时,后面两句的功能不出,也就是没有任何反应。(因为我想要的就是权限功能)

当我这样放时:JOptionPane.showMessageDialog(null,"Sussceful!") ;

this.dispose();

myMain.setEnabled(true,true);

就只有前面两句的功能,第三句的功能没有实现,其它菜单没有变为不可用。

如果把“myMain.setEnabled(true,true)”放在中间的话,就第一句可用的,后面的

“this.dispose();”也实现不了。

我的主窗体是:”Frame1“,

public void setEnable(boolean b,boolean isDBA){

jMenuItemCodeIn.setEnabled(isDBA);

jMenuItemCodeOut.setEnabled(b);

}

估计就是“myMain.setEnabled(true,true)”出问题了,不过我还有一个方法没写:

public FrameUserLogin(Frame1 pmain) {

this(null,"",false);

myMain = pmain;

}

"FrameUserLogin"是登陆窗体,应该就相当于您书上的userLogin了,书上是这么写的:public userLogin(Frame1 pmain) {

this(null,"",false);

myMain = pmain;

}

可我在"登陆界面"写:public FrameUserLogin(Frame1 pmain) {

this(null,"",false);

myMain = pmain;

}时,在”this"中有红线,无法编译,我不懂什么意思,是不是要写这里,“myMain.setEnabled(true,true)”才能实现其功能的(可用的)!?

后来我自己就直接这样写来代替“myMain.setEnabled(true,true)”:if(rs.getString("Power").equals("管理员") ){

JOptionPane.showMessageDialog(null,"Sussceful!") ;

myMain.jMenuItemCodeIn.setEnabled(false);

myMain.jMenuItemCodeOut.setEnabled(false);

this.dispose();

}

想这样来测试一下,看“jMenuItemCodeIn”,“jMenuItemCodeOut”

是否变为不可用,可是问题依旧。我只想把某些菜单设为不可用或可用,到底时怎么设的!!!???在主窗体(Frame1)中就可以,怎么把它

传过来在“FrameUserLogin”中设呀,

“public FrameUserLogin(Frame1 pmain) {

this(null,"",false);

myMain = pmain;

}”在这一段应该就是传过来的,可为什么在“

this”这里有红线划出说有错呢???我都按照书上来做的了。公司只有我一个人用Java的,我又没有朋友做这方面的,真是一个人来弄好烦啊,很多时候一个小小的问题都要弄我很久,可以的话请作者帮帮我好吗!!

1
banq
2004-06-26 18:51
你这个架构是奇怪的架构,在GUI中直接调用SQL Server,大概是看了某些教科书样例吧。没这样做的啊。

这方面。Delphi/VB 是强项,何必自己苦苦摸索,因为这条孤僻的路只有你一个人在走。

猜你喜欢