Описание коннектора MySQL - PullRequest
       16

Описание коннектора MySQL

0 голосов
/ 08 октября 2018

Я пытаюсь вставить заголовки столбцов из вывода процедуры перед результатами, используя MySQL-коннектор.

Мой код в настоящее время:

    import mysql.connector
from mysql.connector import errorcode


cnx = mysql.connector.connect(user='###', password='###',
                              host='###',
                              port='###',
                              database='new_schema')
if cnx.is_connected():
        print('Connection Established.')
    else:
        print('Connection Failed.')


    def call_new_carer_report():
        cur = cnx.cursor()
        cur.callproc('new_carer_report')
        cur.stored_results()
        for result in cur.stored_results():
            global results
            results = result.fetchall()
        header = [i[0] for i in cur.description]
        rows = [list(i) for i in cur.fetchall()]
        rows.insert(0, header)
        cur.close()

Я получаю вывод правильно с results, но получаю сообщение об ошибке:

header = [i[0] for i in cur.description]

Какие состояния:

    header = [i[0] for i in cur.description]
TypeError: 'NoneType' object is not iterable

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 08 октября 2018

В итоге выяснилось, где я ошибся.

Новый код функции:

def call_new_carer_report():
    cur1 = cnx.cursor()
    cur1.callproc('new_carer_report')
    cur1.stored_results()
    for result in cur1.stored_results():
        global results1
        results1 = result.fetchall()
    header1 = [i[0] for i in result.description]
    rows1 = [list(i) for i in results1]
    rows1.insert(0, header1)
    print(rows1)
    cur1.close()

Я понял, что пытался получить описание из объекта Cursor, а не сохраненные результаты.

...