2017-12-26 11 views
1

私はこれに関するノートを読みましたが、私にとってはうまくいかないようです。私はSQLiteデータベースを持っており、NetbeansをIDEとして使って、jtableにデータレコードを表示するjframeを持ち、レコードは昇順で表示されます。レコードをクリックすると、jtextfieldsにそのレコードが表示されます。ボタンをクリックすると、SQLiteデータベースから次のレコードを取得します

ボタンをクリックすると、データベースの次のレコードに昇順で移動したいが、動作していないようだ。私は間違って何をしていますか?

try{ 
    String sql ="select * from Employees order by Name ASC"; 
    pst=conn.prepareStatement(sql); 
    rs=pst.executeQuery(); 

     if(rs.next()){ 

       int i = rs.getInt("ID"); 
       String idi= Integer.toString(i); 
       id.setText(idi); 
       String a = rs.getString("Name"); 
       name.setText(a); 
       String b = rs.getString("Contact"); 
       contact.setText(b); 
       String c = rs.getString("Email"); 
       email.setText(c); 
       String d = rs.getString("Residence"); 
       residence.setText(d); 
       String e = rs.getString("Job_Type"); 
       comboJob.setSelectedItem(e); 

    } 
     else { 
      rs.previous(); 
      } 

    } 
    catch(SQLException | HeadlessException ex) 
    { 
     JOptionPane.showMessageDialog(null, ex); 
    }finally{ 
      try{ 
       rs.close(); 
       pst.close(); 
      } 
      catch(Exception e){ 

      } 
     } 

答えて

1

あなたが

のようなデータセットのアレイを使用することができる情報を表示する

i=0; 
while(rs.next()) { 
      dataset["ID"][i]=Integer.toString(rs.getInt("ID")); 
      dataset["Name"][i]=rs.getString("EName"); 
    i++ 
      } 

のようなボタンを配列内のデータベースからの値を格納し、(次、前の)あなたとそれを反復処理する必要があります

id.setText(dataset["ID"][i]); 
name.setText(dataset["EName"][i]); 

構文はチェックされていませんが、ロジックは正しいです。

+0

okありがとう、試してみる –

関連する問題