Я пытаюсь перенести SQL-запрос в Java из своего рабочего места.
Я написал этот запрос в инструментальной среде MySQL, и он отлично работал с желаемыми результатами.
SELECT committee_member
. member_CAN#
, member
. first_name
, member
. last_name
, committee_member
. member_status
, committee_member
. start_year
, committee_member
. end_year
, committee_member
. added_notes
FROM Committee_member LEFT JOIN участник
ON committee_member
. member_CAN#
= CAN#
Вот мой код класса .java. Я пытаюсь распечатать таблицу, которая отображает эту информацию.
Я продолжаю получать сообщение об ошибке «Неизвестная таблица 'Committee_member' в списке полей» в eclipse, поэтому я предполагаю, что мой синтаксис запроса неправильный.
package model;
import java.sql.*;
import java.util.ArrayList;
public class ViewCommitteeMember {
private Connection connection;
private ArrayList<CommitteeMember> members;
public ViewCommitteeMember(){
members = new ArrayList<CommitteeMember>();
makeConnection();
}
public void viewMembers(){
String query = "SELECT `committee_member`.`member_CAN#`, `member`.`first_name`, `member`.`last_name`, `committee_member`.`member_status`, `committee_member`.`start_year`, `committee_member`.`end_year`, `committee_member`.`added_notes` FROM committee_member LEFT JOIN member ON `committee_member`.`member_CAN#` = `CAN#`";
PreparedStatement ps;
try {
ps = connection.prepareStatement(query);
ResultSet rs = ps.executeQuery();
while (rs.next()){ //while the query is running, loop through all of the members
CommitteeMember member = new CommitteeMember(); //create a new member for each entry so info may be displayed
member.setID(rs.getInt(1)); //pulls the ID
member.setFirstname(rs.getString(2));
member.setLastname(rs.getString(3));
member.setMemStat(rs.getString(4)); //pulls the status
member.setStartYear(rs.getInt(5)); //pulls the start year
member.setEndYear(rs.getInt(6)); //pulls the end year
member.setNotes(rs.getString(7)); //pulls the additional notes
members.add(member); //add the member to the array list "members"
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
this.closeConnection();
}
}
private void makeConnection(){
// get connection
String url = "jdbc:mysql://localhost:3306/committee_database";
String user = "root";
String pwd = "coolman";
try {
connection = DriverManager.getConnection(url, user, pwd);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void closeConnection(){
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @return the agents
*/
public ArrayList<CommitteeMember> getMembers() { //list of all the members
return members;
}
}