Возникли проблемы с 2 столами - PullRequest
0 голосов
/ 24 февраля 2020

Я не могу получить данные из 2-й таблицы в базе данных

Python ошибка вывода:

Traceback (последний вызов был последним): файл "C: \ Users \ ... \ Desktop \ vk_bot-master \ vk_bot-master \ base.py ", строка 28, в crsr.execute ('' 'pyodb c .Error: (' 07002 ',' [07002 ] [Microsoft] [Драйвер ODB C Microsoft Access] Слишком мало аргументов. Требуется 1. (-3010) (SQLExecDirectW) ')

import pyodbc
connStr = (
    r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};"
    r"DBQ=C:\Users\...\Desktop\vk_bot-master\vk_bot-master\base.accdb;"
    )
tables = 0
cnxn = pyodbc.connect(connStr)
crsr = cnxn.cursor()

for table_info in crsr.tables(tableType='TABLE'):
    print('Table found! ', table_info.table_name)
    tables=tables+1

if not tables > 5:
    print('Total ', tables, ' tables found')
    print('Maxium tables: 5 /', tables)
else:
    print('Total ', tables, ' tables found')
    print('Maxium tables: 5/', tables)
    print("You can't use over 5 tables")
    cnxn.close()
    exit();

userid = input("Enter your name ")
try:
    if crsr.tables(table='got').fetchall():
        crsr.execute('''
                    SELECT userid
                    FROM got
                    ''')
        rows = crsr.fetchall()
        for row in rows:
            if str(rows.username)==userid:
                print('You already got a key')
            else:

                crsr.execute("""
                       SELECT key, used
                         FROM keys
                       """)
                rows = crsr.fetchall()
                for row in rows:
                    if str(row.used)=='True':
                        continue
                    else:
                        print('Get your key: ', str(row.key))
except:
    print('Some error occured :(')
    cnxn.close()      
    print("Error: ", pyodbc.Error)
    cnxn.close()
  #  exit()```

...