SQL-запрос в Java, вызывающий исключение - PullRequest
0 голосов
/ 14 июля 2011

У меня есть некоторые извлечения Java из базы данных Access Вот код, выполняющий запросы:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String filename = "C:/Development/tomcat/webapps/inquire/inquire.mdb";
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=true}";
Connection con = DriverManager.getConnection( database ,"","");
Statement s = con.createStatement();
s.execute ("SELECT manager FROM inquiries");
ResultSet rs = s.getResultSet();

Да, в этом месте есть база данных с именем inquire.mdb, с таблицей под названием "запросы" со столбцом с именем "manager"

Однако, когда код выполняется, я получаю:

java.sql.SQLException: столбец не найден

Это действительно странно, потому что в другом месте этот запрос работает:

String theQuery = "SELECT DISTINCT manager FROM inquiries";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String filename = "C:/Development/tomcat/webapps/inquire/inquire.mdb";
        String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
        database+= filename.trim() + ";DriverID=22;READONLY=true}";
        Connection con = DriverManager.getConnection( database ,"","");
        Statement s = con.createStatement();
        s.execute(theQuery);
        ResultSet rs = s.getResultSet();

1 Ответ

0 голосов
/ 14 июля 2011

Конечно, как почти всегда проблема, когда я сталкиваюсь с проблемой программирования, я делал что-то глупое.

Проблема заключалась в обработке набора результатов, а не запроса.Я упростил запрос, но все еще использовал другие столбцы в обработке.Так что да, конечно, он не смог найти столбец, я даже не потянул его своим запросом.

Если бы я не был глуп, я бы напечатал всю чертову трассировку стека, а не только глупое исключение.

Тогда я мог бы найти, на какой линии он фактически умирал.

Тогда это займет всего несколько секунд.

Вместо, знаете ли, ЧАСОВ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...