Java 如何用数据库条目数据预加载GUI?
我试图用数据库条目的数据预加载GUI。基本上,在前面的JForm中,我要求用户输入一个名称,这个类使用这个名称并用数据库条目填充现有的文本字段和区域,尽管它似乎不起作用,因为它没有预加载任何现有字段,尽管它确实存在于数据库中。如果有人能帮忙,我们将不胜感激,因为这很快就要到期了Java 如何用数据库条目数据预加载GUI?,java,mysql,sql,database,user-interface,Java,Mysql,Sql,Database,User Interface,我试图用数据库条目的数据预加载GUI。基本上,在前面的JForm中,我要求用户输入一个名称,这个类使用这个名称并用数据库条目填充现有的文本字段和区域,尽管它似乎不起作用,因为它没有预加载任何现有字段,尽管它确实存在于数据库中。如果有人能帮忙,我们将不胜感激,因为这很快就要到期了 public void presetPage(){ modifyRecipe m = new modifyRecipe(); String name = m.getSR(); try{
public void presetPage(){
modifyRecipe m = new modifyRecipe();
String name = m.getSR();
try{
String url = "jdbc:derby://localhost:1527/Cookbook";
Connection conn = DriverManager.getConnection(url);
String sql = "SELECT * from RECIPES where name=?";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, name);
ResultSet rs = pst.executeQuery();
boolean found = false;
while(rs.next()){
if(rs.getString(1).equalsIgnoreCase(name)){
JOptionPane.showMessageDialog(null, "Found " + name );
found = true;
txtName.setText(rs.getString(1));
txtSubcatagory.setText(rs.getString(2));
cmbCatagory.getSelectedItem().toString();
txtIngredients.setText(rs.getString(4));
txtInstructions.setText(rs.getString(5));
txtMod.setText(rs.getString(6));
}else if(!found){
JOptionPane.showMessageDialog(null, "Item Not Found!");
this.dispose();
}
}
这里似乎有一些不必要的代码。如果您运行了一个只选择名称的查询,则无需检查返回的数据是否正确。你只需要知道你吵架了。另外,我对这个库不太熟悉,但是您需要一个next()来到达第一行吗?如果没有,那么在选中name=name之前,您已经通过了该行。很明显,单个JTextField不能显示所有配方的名称。如果要显示多个记录,通常使用。