Python3 проблем с sqlite3: нет ошибок, но c .fetchall и rowcount равны нулю - PullRequest
0 голосов
/ 21 апреля 2020

mport sqlite3 из группы импорта itertools

aes_fault_db = r 'C: \ Users \ Desktop \ Jetwave Cases \ 9V-SHD_20200313_0007 \ AES \ Maintenance \ AESFault_1.sqlite3'

def create_connection (aes_fault_db):

try:
    conn = sqlite3.connect(aes_fault_db)

except Error as e:
    print(e)

c = connection.cursor()
c.execute('SELECT recordid, record_type, modman_ticks, modman_date, modman_time, modman_power_on_counter,',
          'modman_flight_cycle_ounter, modman_latitude, modman_longitude, modman_altitude,',
          'modman_ground_speed, modman_aircraft_id, modman_flight_leg, L1_code, L2_code,',
          'L3_code, L4_code, L1_text, L2_text, L3_text, L4_text, additional_text,',
          'lru_recorded_temperature, lru_time, lru_antenna_azimuth, lru_antenna_elev * FROM aes_fault')
data = c.fetchall()
if data == None:
    print('no results for this query')
dataSize = c.rowcount
print(c.rowcount)
print(data)
for row in data:
    print(row)

c.close

1 Ответ

0 голосов
/ 21 апреля 2020

Как вы можете не получать ошибки? sqlite3 должен жаловаться, что « функция принимает не более 2 аргументов (5 дано) ». Каждая запятая (,) в этой длинной строке sql разделяет аргумент. Вложите весь sql с одним набором """. Это означает удаление всех одинарных кавычек и запятых в конце строки.

Здесь также есть синтаксическая ошибка lru_antenna_elev * FROM aes_fault'.

Если вы хотите, чтобы все столбцы таблицы (*), то SELECT * from aes_fault - это все sql, что вам нужно.

...