2

他のスクリプトでデータベース接続を行おうとしています。しかし、スクリプトは正しく機能しませんでした。

行に「印刷」を実行すると、値「null」が取得されます

しかし、'select * from Incidents'クエリを使用すると、テーブルインシデントから結果が得られます。

データベースのインポート

rows = database.database("INSERT INTO incidents VALUES(3 ,'test_title1', 'test',     TO_DATE('25-07-2012', 'DD-MM-YYYY'), CURRENT_TIMESTAMP, 'sector', 50, 60)")
#print database.database()
print rows

database.pyスクリプト:

import psycopg2
import sys
import logfile

def database(query):
logfile.log(20, 'database.py', 'Executing...')  
con = None

try:        
    con = psycopg2.connect(database='incidents', user='ipfit5', password='test') 

    cur = con.cursor()
    #print query

    cur.execute(query)
    rows = cur.fetchall()

    con.commit()


#test row does work
    #cur.execute("INSERT INTO incidents VALUES(3 ,'test_titel1', 'test', TO_DATE('25-07-2012', 'DD-MM-YYYY'), CURRENT_TIMESTAMP, 'sector', 50, 60)")

except:
    logfile.log(40, 'database.py', 'Er is iets mis gegaan') 
    logfile.log(40, 'database.py', str(sys.exc_info()))

finally:

    if con:
        con.close()
return rows
4

1 に答える 1

3

「try:」ブロックの前に「rows」を宣言していないため、例外がある場合は定義されません。rows = []上に置いてみてくださいtry

于 2012-09-06T21:36:47.620 に答える