Я использую Python с импортом pyobbc.Работа с датами в Access с использованием pyodbc, дающая ошибку «Слишком мало параметров»
Я использую Microsoft Office 2013 64bit.
Я пытаюсь запросить базу данных accdb для выбора отдельных дат в пределах диапазона и назначить их курсору, чтобы затем добавить их в список.
В базе данных My Access есть таблица с именем Closing_prices и столбец с именем Date_, который имеет тип данных «Дата/время».
Мой код выглядит следующим образом:
cursor=conx.cursor()
query="select distinct Date_ FROM Closing_prices where Date_ >= '10/8/2011' and Date_ < '30/04/2014'"
cursor.execute(query)
dates=list()
for date in cursor:
dates.append(date[0])
Однако я получаю сообщение об ошибке:
Traceback (most recent call last):
File "C:/Users/Stuart/PycharmProjects/untitled/Apache - Copy.py", line 20, in <module>
cursor.execute(query)
pyodbc.Error: ('07002', '[07002] [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. (-3010) (SQLExecDirectW)')
Как Date_ является Задан, я также пытался:
query="select distinct Date_ FROM Closing_prices where Date_ >= '10/8/2011 00:00:00' and Date_ < '30/04/2014 00:00:00'"
Когда я запускаю:
cursor = conx.cursor()
query="select Date_ FROM Closing_prices"
cursor.execute(query)
for row in cursor:
print row
print type(row[0])
я получаю следующий результат в качестве примера:
(datetime.datetime(2014, 3, 24, 0, 0),)
(datetime.datetime(2014, 3, 25, 0, 0),)
(datetime.datetime(2014, 3, 26, 0, 0),)
(datetime.datetime(2014, 3, 27, 0, 0),)
Я относительно новым для Python и даже новее для запросов SQL, так что может кто-то пожалуйста, указать, где я неправильно, и, возможно, как я могу измените мой код, чтобы помочь мне добавить отдельные даты в список по своему желанию.
Большое спасибо.
Если вы запустили запрос непосредственно в Access, сделайте работает ли он так, как ожидалось? –
Да, когда я использую: выберите отдельную Date_ FROM Closing_prices, где Date_> = # 10/8/2011 # и Date_ <# 30/04/2014 # и запустите запрос, я получаю правильный выбор дат, отображаемых в SQL-запросе окно. Я где-то читал, что запрос Access SQL требует использования # вместо одиночных кавычек. – s666