if (rs.getString(3)=="管理员")这个地方为什么不能比较
package per1;
import java.awt.*;
import java.sql.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import
java.sql.SQLException;
import javax.swing.*;
public class Cland extends JFrame implements ActionListener{
/**
*
*/
JLabel jl1,jl2;
JTextField jtf1;
JPasswordField jpw1;
JPanel jp1,jp2,jp3,jp4;
JButton jb1,jb2;
JRadioButton jrb1,jrb2,jrb3;
ButtonGroup bg;
public static void main(String []args)
{
Cland cl=new Cland();
}
public Cland()
{
jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
jp4=new JPanel();
jl1=new JLabel("用户名:");
jl2=new JLabel("密 码:");
jtf1=new JTextField(10);
jpw1=new JPasswordField(10);
jb1=new JButton("登陆");
jb1.addActionListener(this);
jb2=new JButton("注销");
jrb1=new JRadioButton("管理员");
jrb2=new JRadioButton("老师");
jrb3=new JRadioButton("学生");
ButtonGroup bg=new ButtonGroup();
bg.add(jrb1);
bg.add(jrb2);
bg.add(jrb3);
this.setLayout(new GridLayout(4,1));
jp1.add(jl1);
jp1.add(jtf1);
jp2.add(jl2);
jp2.add(jpw1);
jp3.add(jrb1);
jp3.add(jrb2);
jp3.add(jrb3);
jp4.add(jb1);
jp4.add(jb2);
this.add(jp1);
this.add(jp2);
this.add(jp3);
this.add(jp4);
this.setTitle("学生成绩管理系统");
this.setSize(300,150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb1)
{
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
String []a=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:per","sa","sa");
ps=conn.prepareStatement("select * from user1 where 用户名=? and 密码=?");
ps.setString(1, jtf1.getText());
ps.setString(2, new String(jpw1.getPassword()));
rs=ps.executeQuery();
while(rs.next())
{
if (rs.getString(3)=="管理员")
{
Tsel re=new Tsel();
this.dispose();
}
}
}catch(Exception e1)
{
e1.printStackTrace();
}finally
{
try{
if(rs!=null)
{
rs.close();
}
if(ps!=null)ps.close();
if(conn!=null)conn.close();
}catch(Exception e2)
{
e2.printStackTrace();
}
}
}
}
}
------解决方案--------------------改为
rs.getString(3).equals("管理员")
------解决方案--------------------Java 里面String类型的比较是否相等用equals()
楼上正解!