Erro sql simples!

ERRO:
java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na seqüência de caracteres na expressão de consulta ‘Disciplinas.CodDisciplina=0 and Professores.CodProfessor = 0"’.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
Erro listarCodDisc: java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na seqüência de caracteres na expressão de consulta ‘Disciplinas.CodDisciplina=0 and Professores.CodProfessor = 0"’.
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)

CÓDIGO:

public List ListarResultado(Vector resultado) { int dc = 0; List lista = new ArrayList(); try { for(int i = 0; i < resultado.size(); i++){ int r[][] = new int[2][25]; r = (int[][]) resultado.elementAt(i); for(int j = 0; j < 25; j++){ if(r[0][j]!=0){ String dp =""+r[0][j]; dp = dp.substring(0,(dp.length()-1)); dc = Integer.parseInt(dp);} else dc = 0; String sql = "select Professores.Nome, Disciplinas.Disciplina from Professores,Disciplinas where Disciplinas.CodDisciplina="+dc+" and Professores.CodProfessor = "+r[1][j]+"\""; st = this.conexao.createStatement(); rs = st.executeQuery(sql); while(rs.next()) { String array[] = new String[2]; array[0] = rs.getString(1); array[1] = rs.getString(2); lista.add(array); } } } } catch(Exception e) { e.printStackTrace(); System.out.println("Erro listarCodDisc: " + e); } return lista; }

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html

Isso deve resolver.

String sql = " select Professores.Nome, Disciplinas.Disciplina from Professores,Disciplinas where Disciplinas.CodDisciplina="+dc+"  and Professores.CodProfessor = "+r[1][j];   

Té+! :smiley: