Ich arbeite an meinem Abschluss-Projekt. Ich bin eine Java-Anwendung, die eine Verbindung zu einer Datenbank herstellt. Ich möchte mit Combobox Suche in Datenbank zu übernehmen, wenn der Benutzer wählen Sie den Punkt das Ergebnis zeigt in JTable ich den Code geschrieben, aber ich weiß nicht, was mit meinem SQL-Befehl ist falsch es diese Ausnahme werfenFehler mit SQL-Befehlen in Java
أبر 18, 2016 5:03:32 م MyQuery getData
SEVERE: null
java.sql.SQLException: [Microsoft][?????? ????? ODBC Microsoft Access] ??? ?? ???? ?????? (???? ??????? ?????) ?? ????? ??????? '`CAT_NAME`= Human Resources'.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3109)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:337)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:252)
at MyQuery.getData(MyQuery.java:33)
at Travel1.jComboBoxCat1ActionPerformed(Travel1.java:177)
at Travel1.access$100(Travel1.java:33)
at Travel1$3.actionPerformed(Travel1.java:137)
at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1260)
at javax.swing.JComboBox.setSelectedItem(JComboBox.java:588)
at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:624)
Das ist mein Code:
private void jComboBoxCat1ActionPerformed(java.awt.event.ActionEvent evt) {
MyQuery mq = new MyQuery();
ArrayList<Course> list = mq.getData((String)jComboBoxCat1.getSelectedItem());
DefaultTableModel model = new DefaultTableModel();
model.setColumnIdentifiers(new Object[]{"Course Name","Duration","FEES","City","Category"});
Object[] row = new Object[5];
for(int i = 0; i < list.size(); i++){
row[0] = list.get(i).getCourse_Name();
row[1] = list.get(i).getDuration();
row[2] = list.get(i).getFEES();
row[3] = list.get(i).getCourse_Date();
row[4] = list.get(i).getCity();
model.addRow(row);
}
jTableresult.setModel(model);
MyQuery Klasse
public ArrayList<Course> getData(String catName){
ArrayList<Course> list = new ArrayList<Course>();
Connection con = getConnection();
Statement st;
ResultSet rs;
try {
st = con.createStatement();
rs = st.executeQuery("SELECT ` COURSE_NAME`,`DURATION`,`FEES`,`DATE_FROM`,`C_NAME`,CAT_NAME FROM `Course` WHERE `CAT_NAME`= " + catName);
Course p;
while(rs.next()){
p = new Course(
rs.getString("COURSE_NAME"),
rs.getInt("DURATION"),
rs.getInt("FEES"),
rs.getString("DATE_FROM"),
rs.getString("C_NAME"),
rs.getString("CAT_NAME")
);
list.add(p);
}
} catch (SQLException ex) {
Logger.getLogger(Travel1.class.getName()).log(Level.SEVERE, null, ex);
}
return list;
}
}
Microsoft Access nicht die Graviszeichen verwenden zu zitieren Spaltennamen –