テーブルから複数の結果を取得しています。テーブルに 2 つのレコードが見つかった場合は、1 つだけが返されます。結果が 3 つある場合は、2 つだけが返されます。「while (rs.next())」メソッドが各結果を反復すると思っていたので、なぜこれが起こっているのかわかりません。ご意見/コメントをお待ちしております。ありがとう。
package Test;
import java.sql.*;
public class DatabaseConnection {
//Create a GUI object
static GUI GUI = new GUI();
//Initialize String array
static String[] arr = new String[5];
//Connection string to Access Database
static String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/Users/StevenM/Desktop/TestProject.mdb";
public static void main(String[] args) throws ClassNotFoundException, SQLException{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
static void SelectAllFromActor(String Query) throws SQLException, ClassNotFoundException{
Connection conn = DriverManager.getConnection(database,"","");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(Query);
if(!rs.next()){
GUI.NoResults();
}
else{
GUI.SetActorModel();
GUI.clearResults();
while (rs.next()){
arr[0] =(rs.getString("Title") +" ");
arr[1] =(rs.getString("First_Name") +" ");
arr[2] =(rs.getString("Last_Name") +" ");
arr[3] =(rs.getString("Gender") +" ");
arr[4] =(rs.getString("ID") +" ");
GUI.AddToTable(arr,"Actor");
}
}
}