java中数据库查询,搭配简单的图形界面进行查询
在第一个文本框中输入学号后点查询,然后再第二个文本框中显示此学生的性别报错:
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
访问限制:由于对必需的库 C:\Program Files (x86)\Java\jdk1.8.0_60\jre\lib\rt.jar 具有一定限制,因此无法访问类型 AbstractButton 中的方法 addActionListener(ActionListener)
at dblx.Sjk1_5.main(Sjk1_5.java:31)
源代码:
package dblx;
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Sjk1_5 {
private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static String url="jdbc:sqlserver://neverAgain\\neverAgain:1433;DatabaseName=Myschool";
private static String user="sa";
private static String password="111111";
static JFrame frm=new JFrame("数据库查询");
static JTextField jtf1=new JTextField();
static JTextField jtf2=new JTextField();
static JButton bt=new JButton("查询");
static JLabel jlab=new JLable("学号");
static JLabel jlab1=new JLable("性别");
static String xh=null;
static String jg=null;
public static void main(String[] args) {
frm.add(jlab);
frm.add(jtf1);
frm.add(jlab1);
frm.add(jtf2);
frm.add(bt);
frm.setSize(400, 200);
bt.addActionListener(new JT());
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
String selectsql="select Sex from Student where Sno=?";
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,password);
ps=conn.prepareStatement(selectsql);
ps.setString(1,xh);
rs=ps.executeQuery();
jg=rs.getString("Sex");
}
catch(Exception e){
e.printStackTrace();
}
finally{
try{
if(rs!=null)rs.close();
if(ps!=null)ps.close();
if(conn!=null)conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
static class JT implements ActionListener
{
public void actionPerformed(ActionEvent e){
xh=jtf1.getText();
jtf2.setText(jg);
}
}
}