У меня были проблемы с назначением результата запроса SELECT COUNT(*)
переменной Java.Я присваиваю результат запроса ResultSet.Затем я пытаюсь получить значение счетчика и присвоить его переменной.Я получаю сообщение об ошибке при попытке сделать это.
Вот мой код:
ResultSet rc1 = null;
int rowCount1;
Statement stat = conn.createStatement();
rc1 = stat.executeQuery("SELECT COUNT(*) AS rowcount1
FROM Signal WHERE SignalId = 1;");
if (rc1.next())
rowCount1 = rc1.getInt("rowcount1");
Затем я получаю следующую ошибку:
java.sql.SQLException: такого столбца нет: 'rowcount1'
в org.sqlite.RS.findColumn (RS.java:116)
в org.sqlite.RS.getInt (RS.java:219)
Очевидно, проблема в том, что при попытке назначить переменную, которая идет после AS.Я не могу найти много информации по запросам, содержащим AS.Я получаю ту же ошибку с запросами, на которые я не рассчитываю.Например, если у меня есть следующий код:
ResultSet rp1 = null;
int rowCount1 = 0;
Statement stat = conn.createStatement();
rp1 = stat.executeQuery("SELECT Signal AS Sig1
FROM Observations WHERE SignalId = 1;");
if (rp1.next())
rowCount1 = rp1.getInt("rowcount1");
Я получаю ту же ошибку с предыдущим кодом (такого столбца нет: rowCount1).Что я делаю не так?Я проверяю, что таблица, которую я читаю, содержит правильные значения, поэтому запрос должен быть истинным.