当前位置: 技术问答>java相关
关于core java v2h6 中例子的问题
来源: 互联网 发布时间:2015-11-10
本文导语: 就是用table显示数据库中数据的那个。代码我就不写了,它的主要意图是在一个panel上加一个table和combobox,在panel的构造器中初始一个全局的Statement对象stmt,并且通过Connection获取的原数据中读到所有的表,加到ComboBox中...
就是用table显示数据库中数据的那个。代码我就不写了,它的主要意图是在一个panel上加一个table和combobox,在panel的构造器中初始一个全局的Statement对象stmt,并且通过Connection获取的原数据中读到所有的表,加到ComboBox中,然后显示选中的表中的数据,但是在程序启动时面板上没有table显示,只有当典籍ComboBox时才会显示。我的问题是:在读所有的表的时候,如果通过调用stmt.executeQuery方法,那么只能读到一个表的名字,而且在程序启动时面板上会显示该表的数据。如果另外生成一Statement对象stmtA然后调用stmtA.executeQuery的话程序正常运行,但是在程序启动时面板上会显示数据,也就是说激发了监听事件。这是为什么?
|
1."我的问题是:在读所有的表的时候,如果通过调用stmt.executeQuery方法,那么只能读到一个表的名字,而且在程序启动时面板上会显示该表的数据。";
因为在tableNames.addItem(rsa.getString(1));的时候会触发TestListener
这时执行rs = stmt.executeQuery(query);后 原来的rsa就被关闭了所以只能读到一个表的名字!
“如果另外生成一Statement对象stmtA然后调用stmtA.executeQuery的话程序正常运行,但是在程序启动时面板上会显示数据,也就是说激发了监听事件。”
同理在tableNames.addItem(rsa.getString(1));的时候会触发TestListener!
因为在tableNames.addItem(rsa.getString(1));的时候会触发TestListener
这时执行rs = stmt.executeQuery(query);后 原来的rsa就被关闭了所以只能读到一个表的名字!
“如果另外生成一Statement对象stmtA然后调用stmtA.executeQuery的话程序正常运行,但是在程序启动时面板上会显示数据,也就是说激发了监听事件。”
同理在tableNames.addItem(rsa.getString(1));的时候会触发TestListener!