在我的数据库中,我有4个数据字段,也有一个方法(getWalletName
),在该方法中,我发送一个SQL查询以仅检索4个数据中的一个数据,但检索并显示了结果。我可以看到所需的数据旁边的其他数据,例如:
SELECT Name FROM wallets WHERE Location ='ROOME' ; [unknown,unknown,unknown,Omar]
[我希望将其显示为
[Omar]
的位置,请记住不要修改我的构造函数,因为我需要这种方式。我已经在下面的wallet
类中尝试了该代码,但没有成功!任何帮助将不胜感激
钱包类:
public class wallet { private String Name; private String Location; private String Tag; private String Reader; public wallet(String Name , String Location, String Tag, String Reader) { this.Name = Name; this.Location = Location; this.Tag = Tag; this.Reader = Reader; } public wallet(String Reader) { this.Reader = Reader; this.Name = "unknown"; this.Location = "unknown"; this.Tag = "unknown"; } public wallet(String Location,String Tag) { this.Location = Location; this.Tag = Tag; } public String getWalletName() { return Name; } public void setWalletName(String Name) { this.Name = Name; } public String getWalletLocation() { return Location; } public void setWalletLocation(String Location) { this.Location = Location; } public String getWalletTag() { return Tag; } public void setWalletTag(String Tag) { this.Tag = Tag; } @Override public String toString() { StringBuilder sb = new StringBuilder(); if(Objects.nonNull(this.Name)) { sb.append(this.Name+","); } if(Objects.nonNull(this.Location)) { sb.append(this.Location+","); } if(Objects.nonNull(this.Tag)) { sb.append(this.Tag+","); } if(Objects.nonNull(this.Reader)) { sb.append(this.Reader); } return sb.toString(); }
}
getWalletName方法:
public ArrayList<wallet> getWalletName(String Location) throws SQLException { System.out.println("----------------"); System.out.println("Retrieve the wallet name"); //Connection dbConnection = null; //Statement statement = null; ResultSet resultset = null; String query = "SELECT Name FROM wallets WHERE Location ='" + Location + "' ;"; ArrayList<wallet> WalletsList = new ArrayList<>(); try { getConnection(); //statement = dbConnection.createStatement(); System.out.println(query); resultset = stmt.executeQuery(query); while (resultset.next()) { String Name = resultset.getString("Name"); WalletsList.add(new wallet (Name)); } } finally { // closeConnection(); if (resultset !=null){ resultset.close(); } if (stmt !=null) { stmt.close(); } if (resultset !=null) { closeConnection(); } } return WalletsList; }
在我的数据库中,我有4个数据字段,还有一个方法(getWalletName),在该方法中,我发送一个SQL查询以仅检索4个数据中的一个数据,但检索并显示了结果。我可以...
如果您不想更改构造函数,则只有办法:
我为钱包类建议toString()
的替代版本,也许更紧凑:
将其放在String Name = resultset.getString("Name");
下,应该这样做