получить полный SQL-запрос в Jython - PullRequest
0 голосов
/ 31 марта 2010
result=sqlstring.executeQuery("select distinct table_name,owner from all_tables ")

rs.append(str(i)+' , '+result.getString("table_name")+' , '+result.getString("owner"))

Если я хочу отобразить запрос select * from all_tables или ' select count(*) from all_tables'

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

1 Ответ

0 голосов
/ 01 апреля 2010

Как и в другом вашем вопросе: чтобы показать результаты запроса, когда вы не знаете, сколько столбцов возвращает запрос, вы должны использовать метаданные (лучшие) или повторять и завершать, когда getString(i) вызывает исключение.

Если вы знаете, сколько столбцов возвращается, как в случае cnt(*), вы можете просто использовать rs.getString(1):

rs = conn.executeQuery("select count(*) from my_table")
while (rs.next()):
   cnt = rs.getString(1)

С cnt(*) вы можете использовать getInt(1) или имя столбца, используя AS:

select count(*) as rec_cnt from my_table

и получите его, используя rec_cnt = rs.getInt('rec_cnt').

Если вы используете JDBC, вам следует прочитать кое-что об этом и ознакомиться с Java-документом, например: RecordSet

...