Я использую Jython2.5.0, mysql-connector-java-5.0.8-bin.jar, потому что мой сервер Mysql5.0.38
В моем приложении Jython есть проблема.
Две функции:
def act_query(query):
connection = conn //conn is global and has been assigned when called
cursor = connection.cursor()
num_affected_rows = cursor.execute(query)
cursor.close()
connection.commit()
return num_affected_rows
def get_row(query):
connection = conn
cursor = connection.cursor()
cursor.execute(query)
row = cursor.fetchone()
cursor.close()
return row
Тогда я делаю что-то вроде этого:
query = """SELECT count(*) from test_db.test_table1 into @max"""
act_query(query)
get_query= """ select @max """
row = get_row(get_query)
print row
Вывод выглядит примерно так: array('b', [49, 52, 54, 50, 56, 48, 52])
Я пытаюсь найти причину и сделать тест вроде:
test_query = """select count(*) from test_db.test_table1"""
row = get_row(test_query)
print row
Вывод правильный ответ
На самом деле это сначала скрипт на CPython с MySQLdb, а я превращаю его в Jython с zxJDBC
Это хорошо работало в CPython, но сейчас не может работать.
В CPython курсор может быть определен как
курсор = соединение.курсор (MySQLdb.cursors.DictCursor)
но в zxJDBC, похоже, нет выбора для создания курсора.
Это причина?
Пожалуйста, покажи мне путь. Спасибо!