Jemand bitte helfen Sie mir.Ich mache Dinge richtig, aber ich bekomme einen Fehler.Es ist eine JAVA-Anwendung mit MYSQL WAMP-Server verbunden.MySQLSyntaxErrorException in JAVA
Fehler: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Sie haben einen Fehler in Ihrer SQL-Syntax; Sie in der Bedienungsanleitung für die richtige Syntax zu verwenden in der Nähe von 'Chege' at line 1
MEIN CODE zu Ihrem MySQL-Server-Version entspricht:
public class MyQuery {
public Connection getConnection() {
Connection con = null;
try {
con = DriverManager.getConnection("jdbc:mysql://"
+ "localhost:3306/employee_certificate", "root", "");
} catch (SQLException ex) {
Logger.getLogger(Query.class.getName())
.log(Level.SEVERE, null, ex);
}
return con;
}
public ArrayList<Item> getData(String EmpName) {
ArrayList<Item> list = new ArrayList<Item>();
Connection con = getConnection();
Statement st;
ResultSet rs;
try {
st = con.createStatement();
rs = st.executeQuery("SELECT Emp_Id, Emp_Name, Department "
+ "FROM staff WHERE Emp_Name = " + EmpName + " ");
Item I;
while (rs.next()) {
I = new Item(
rs.getString("Emp_Id"),
rs.getString("Emp_Name"),
rs.getString("Department"));
list.add(I);
}
} catch (SQLException ex) {
Logger.getLogger(Query.class.getName()).log(Level.SEVERE, null, ex);
}
return list;
}
}
den Wert von EmpName in Anführungszeichen oder noch besser Prepared Statements –
Anführungszeichen funktionieren nicht –
'WHERE Emp_Name = '" + EmpName + "'" 'Achten Sie auf die Zitate. –