运行时出错了,为什么?请帮我调试一下! 增加对结果的判断:rs=sm.executeQuery(query);if(rs == null) { System.out.println("结果为空");}else {//在表格中显示结果displayResultSet(rs); } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 找到了!在构造函数中!你的本意是定义了一个全局的con 、sm等, Connection con=null; Statement sm=null;//用来执行SQL语句,并取得执行结果 ResultSet rs=null;//用来封装接收数据库查询结果的对象你也是这么做的,可在下面的构造函数中,你又定义了一次con、sm,等于是局部变量了,所以全局变量还是没有值!所以你在getTable()中调用时con是空的(null)!所以报错!改正看下面,其实说到这儿我相信你肯定会了!public ShowAuthTab() { super("woodfire"); setSize(800,400); c=getContentPane(); c.setLayout(new FlowLayout()); label=new JLabel("数据显示:"); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { System.out.println("SQLException:"+e.getMessage()); } try { Connection con=DriverManager.getConnection ("jdbc:odbc:bookTab");//看这儿,错了! Statement sm=con.createStatement(); //看这儿,你又定义了一次sm和con,就是局部的了! } catch(SQLException e) { System.out.println("SQLException:"+e.getMessage()); } show(); getTable(); }改正如下,去掉局部变量的定义!try { con=DriverManager.getConnection ("jdbc:odbc:bookTab");//已改了! sm=con.createStatement(); //看这儿,已改了,直接用就行了,con是全局的呀,已定义 } catch(SQLException e) { System.out.println("SQLException:"+e.getMessage()); } show(); getTable(); }就上面两个错!不错,我也学习了不少! 其实你下面的getTable()中:public void getTable() { String query="select * from BookTab"; try { sm=con.createStatement(); //这一句也可以不要,你上面已经做了这个工作拉,在构造函数中! java端口监听TCP&UDP传输数据传递出现问题 [救急]关于jdbc批处理更新时候的查询问题 Java新手 高手看看 还是字符串的问题 请各位给我看看,谢谢................. 急急急高分求VO到PO的自动转换 急!美萍里的JTabel是怎么做的 求高手指导下 为什么会出现这种结果? 求助~如何在socket不断的情况下,收发16进制的数据? 怎样用log4j为某一指定的类日志 请问怎么创建同心的正方形??? 如何在JCREATOR使用JAVADOC 请高手指教~~~~~~~~~~~~~~~~~~~~~~~
Connection con=null;
Statement sm=null;//用来执行SQL语句,并取得执行结果
ResultSet rs=null;//用来封装接收数据库查询结果的对象
你也是这么做的,可在下面的构造函数中,你又定义了一次con、sm,等于是局部变量了,所以全局变量还是没有值!
所以你在getTable()中调用时con是空的(null)!所以报错!
改正看下面,其实说到这儿我相信你肯定会了!public ShowAuthTab()
{
super("woodfire");
setSize(800,400);
c=getContentPane();
c.setLayout(new FlowLayout());
label=new JLabel("数据显示:");
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.println("SQLException:"+e.getMessage());
}
try
{
Connection con=DriverManager.getConnection ("jdbc:odbc:bookTab");//看这儿,错了!
Statement sm=con.createStatement();
//看这儿,你又定义了一次sm和con,就是局部的了!
}
catch(SQLException e)
{
System.out.println("SQLException:"+e.getMessage());
}
show();
getTable();
}改正如下,去掉局部变量的定义!
try
{
con=DriverManager.getConnection ("jdbc:odbc:bookTab");//已改了!
sm=con.createStatement();
//看这儿,已改了,直接用就行了,con是全局的呀,已定义
}
catch(SQLException e)
{
System.out.println("SQLException:"+e.getMessage());
}
show();
getTable();
}
就上面两个错!
不错,我也学习了不少!
{
String query="select * from BookTab";
try
{
sm=con.createStatement();
//这一句也可以不要,你上面已经做了这个工作拉,在构造函数中!