我想从sql查询添加一些记录,但输出不正确.始终返回最后一条记录.
正确的清单是:
约翰
缺口
玛丽
乔
,但总是回归乔.
这是添加元素的方法:
public ArrayList<String[][]> getFiledArrayList()
{
// ArrayList<String[][]> fieldsList = new ArrayList<>();
String[][] tempRow = new String[1][2];
ResultSet result;
String sql = "select id, name_of from field";
result = database.exeQueryStatement(sql);
try
{
while(result.next())
{
tempRow[0][0] = result.getString("id");
// System.out.println(tempRow[0][0]);
tempRow[0][1] = result.getString("name_of");
// System.out.println(tempRow[0][1]);
fieldsList.add(tempRow);
System.out.println(fieldsList.get(0)[0][1]);
}
}
catch (SQLException ex)
{
Logger.getLogger(FieldManage.class.getName()).log(Level.SEVERE, null, ex);
}
return fieldsList;
Run Code Online (Sandbox Code Playgroud)
我把id和name_of一个String[1][2]表,我想显示name_of在的JComboBox.Ι要进行插入和观赏name_of用id
FieldManage fieldmanage = new FieldManage();
ArrayList<String[][]> listOfField;
listOfField = fieldmanage.getFiledArrayList();
String[] fields = new String[listOfField.size()];
System.out.println(listOfField.get(0)[0][0]);
for (int i=0; i<listOfField.size(); i++)
{
fields[i] = listOfField.get(i)[0][1];
System.out.println(fields[i]);//test print show always joe!
}
jComboFields.setModel(new javax.swing.DefaultComboBoxModel(fields));
Run Code Online (Sandbox Code Playgroud)
这段代码总是返回Joe.
另外我想知道是否有更好的方法来匹配jcombo元素id.
填充时fieldsList,重复添加对同一对象的引用(tempRow).当您的循环修改内容时tempRow,所有先前添加的条目也会更改(因为它们是同一个对象).
在循环内移动以下行:
String[][] tempRow = new String[1][2];
Run Code Online (Sandbox Code Playgroud)