Java 将行添加到DefaultTableModel
这给了我一个错误: 线程“AWT-EventQueue-0”java.lang.ArrayIndexOutOfBoundsException中出现异常:1>0 有什么想法吗?Java 将行添加到DefaultTableModel,java,swing,jtable,defaulttablemodel,Java,Swing,Jtable,Defaulttablemodel,这给了我一个错误: 线程“AWT-EventQueue-0”java.lang.ArrayIndexOutOfBoundsException中出现异常:1>0 有什么想法吗?DefaultTableModel#insertRow在给定索引处插入一个条目。无法插入超出模型当前行数的条目 替换 examTable.insertRow(row, new Object[] { name,headname,datum, exam,pres }); int row = examTable.getRowCo
DefaultTableModel#insertRow
在给定索引处插入一个条目。无法插入超出模型当前行数的条目
替换
examTable.insertRow(row, new Object[] { name,headname,datum, exam,pres });
int row = examTable.getRowCount()+1;
与
请看以下几行:
if (result.first()) {
while(result.next()) {
您的SQL
表明您希望从查询中返回一条记录。但是,通过调用ResultSet#first
,光标将被高级移到第一行,因此永远不会输入while
循环。相反,您可以将这些行替换为:
if (result.next()) {
除此之外,使用
PreparedStatement
而不是语句来防止攻击。DefaultTableModel#insertRow
在给定索引处插入条目。无法插入超出模型当前行数的条目
替换
examTable.insertRow(row, new Object[] { name,headname,datum, exam,pres });
int row = examTable.getRowCount()+1;
与
请看以下几行:
if (result.first()) {
while(result.next()) {
您的SQL
表明您希望从查询中返回一条记录。但是,通过调用ResultSet#first
,光标将前进到第一个可能的行之后,这样就不会进入while
循环。相反,您可以将这些行替换为:
if (result.next()) {
除此之外,使用PreparedStatement
而不是语句来防止攻击。替换
examTable.insertRow(row, new Object[] { name,headname,datum, exam,pres });
int row = examTable.getRowCount()+1;
与
Java中的所有内容都是基于0的索引
examTable.insertRow(row, new Object[] { name,headname,datum, exam,pres });
int row = examTable.getRowCount()+1;
与
在Java中,所有内容都是基于0的索引,这是一个旧线程,但没有响应。我就是为了这个注册的。
每次更新(添加、插入、删除)表模型时:
examTable.addRow(new Object[] { name,headname,datum, exam,pres });
您需要使用更新的模型刷新表:
jTable2.setModel(examTable);
根据我的经验,这不是自动发生的。旧线程,但未得到响应。我就是为了这个注册的。
每次更新(添加、插入、删除)表模型时:
examTable.addRow(new Object[] { name,headname,datum, exam,pres });
您需要使用更新的模型刷新表:
jTable2.setModel(examTable);
根据我的经验,这不会自动发生。在此处编写代码,不要链接。在此处编写代码,不要链接。不知何故,它不会给我任何结果。未添加任何行。此外,我的表格在运行应用程序时不会自动显示。请参阅更新。现在显示的表的问题可能是布局问题,但我无法对此发表评论,因为您没有包括添加它的代码。布局是固定的,但我仍然没有看到任何条目(是的,查询实际上提供了条目)。我正确地遵循了您的说明。我建议在addRow
之前放置一个断点,以确保您正在输入if
语句范围,并检查传递给调用本身的值。如果resutl.next()返回false,我会在else语句中放置一个system out println。出于某种原因,它找不到任何结果,但如果我在工作台中输入查询,它会给我多个条目(id为1)。不知何故,它不会给我任何结果。未添加任何行。此外,我的表格在运行应用程序时不会自动显示。请参阅更新。现在显示的表的问题可能是布局问题,但我无法对此发表评论,因为您没有包括添加它的代码。布局是固定的,但我仍然没有看到任何条目(是的,查询实际上提供了条目)。我正确地遵循了您的说明。我建议在addRow
之前放置一个断点,以确保您正在输入if
语句范围,并检查传递给调用本身的值。如果resutl.next()返回false,我会在else语句中放置一个system out println。出于某种原因,它找不到任何结果,但是如果我在我的工作台中输入查询,它会给我多个条目(id为1)。