2016-10-27 2 views
0

Я пытаюсь запустить оператор query/select и сохранить его в переменной. Я знаю, как получить что-то конкретное из определенного столбца, но не от подсчета строк.JDBC - SQLITE Выбрать для varible

Это работает, когда я получаю MYID специально.

ResultSet MYIDrs = stmtCFG.executeQuery("SELECT rowid, MYID from MYINDEX order by rowid desc limit 1;"); 
MYID = MYIDrs.getString("MYID"); 

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

Это то, что у меня есть, но не приводит к тому, что я ожидаю.

ResultSet FILE_COUNTrs = stmtCFG.executeQuery("SELECT count(*) from TABLE where MYID = '"+MYID+"';"); 
FILE_COUNT = FILE_COUNTrs.getString(?????); 

вопрос или вопрос: что я могу положить в ????? как я уже пробовал все.

Я ожидаю увидеть номер.

Большое спасибо

ответ

1

Я очень сожалею, что я нашел то, что искал, присвоив имя TOTAL

Это мой код и он работает ...

ResultSet FILE_COUNTrs = stmtCFG.executeQuery("SELECT count(*) AS TOTAL from TABLE where MYID = '"+MYID+"';"); 
FILE_COUNT = FILE_COUNTrs.getString("TOTAL"); 
+0

Это не должно работать, вам нужно вызвать 'FILE_COUNTrs.next()' перед извлечением вашего значения. –

1

используется неправильно тип данных. COUNT (*) возвращает тип Integer, а не строку.

Вы можете сделать так без назначения метки для COUNT (*)

int FILE_COUNT = FILE_COUNTrs.getInt(1); // 1: is the column index of COUNT(*) 
Смежные вопросы