SQLクエリーをワークベンチからjavaに転送しようとしています。 私はこのクエリをmySQLワークベンチに書きました。SQLクエリーをワークベンチから.javaクラスに転送する
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委員会メンバーLEFT JOIN会員 ON committee_member
member_CAN#
= CAN#
ここは私の.javaクラスコードです。私はこの情報を表示するテーブルを印刷しようとしています。 eclipseで「Unknown table 'committee_member' in field list」というエラーが発生するので、クエリの構文が間違っていると推測しています。以下のような
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;
}
}
うーん、助けてくれてありがとう今のところです。私は私のクエリを再構成しましたので、次のようになります: "SELECT m.CAN#、m.first_name、m.last_name、" + "cm.member_status、cm.start_year、cm.end_year、cm.added_notes" + "FROM committee_member cm LEFT JOINメンバーm ON m.CAN#= cm.member_CAN# ";それでも動作しない、私は同じエラーが発生します:フィールドリストの 'committee_member'テーブルが不明です –