0

次のコードに問題があります。

start_date = dt.datetime(2012,01,01,00,00,00)
end_date = dt.datetime(2014,01,01,00,00,00)

sql="SELECT c.id extension, er.id, flow, filename, filesize, unread, er.cr_date, callerid, \
length, callid, info, party FROM extension_recording er, extension e, client c \
WHERE er.extension_id = e.id AND e.client_id = c.id AND c.parent_client_id = %s \
AND er.cr_date => %s AND er.cr_date <= %s" % (client_id) (start_date) (end_date)

cur.execute(sql)
recordings = cur.fetchall()

if recordings.rowcount == 0: sys.exit("No recordings for selected date range - exiting")

for recording in recordings:
    do stuff to recording

クエリ文字列を作成すると、次のエラーが発生します。

TypeError: 'str' object is not callable

目に見えないほど明白な何かが欠けていると確信していますが、木には木が見えません。

4

1 に答える 1

4

長い行の末尾を次のように変更します。

... er.cr_date <= %s" % (client_id, start_date, end_date)

また、長い行には三重引用符が便利です。

sql = """
    SELECT c.id extension, ...
    ... er.cr_date <= %s""" % (...
于 2013-01-11T16:35:58.743 に答える