ich habe folgendes Problem:
Ich arbeite momentan an einem kleinen einfachen Datenbankmodul womit ich meine Konten meiner Bankklasse besser sortieren und speichern kann. Soweit so gut, aber momentan bekomme ich immer einen AttributeError, beim Versuch "self.cur.execute(CREATE TABLE....)" auszuführen. ich kann mir leider nicht zusammenreimen wieso.
Genauer Fehlertraceback:
Code: Alles auswählen
File "H:\Eclipse Workspace\Python - Bankklasse\src\Database.py", line 74, in <module>
main.createTable()
File "H:\Eclipse Workspace\Python - Bankklasse\src\Database.py", line 37, in createTable
self.connection.execute("""CREATE TABLE Customers(
AttributeError: ARTEMISDB instance has no attribute 'connection'
Code: Alles auswählen
import sqlite3
class ARTEMISDB():
def __init__(self):
pass
def createDB(self):
self.connection = sqlite3.connect("ARTEMIS_Database.db")
self.cur = connection.cursor()
#----------------------------------------------------------------------------
def checkDB(self):
try:
db = open("ARTEMIS_Database.db")
print "Database found, loading tables"
except IOError:
print "Database not found, creating one..."
createDB()
#----------------------------------------------------------------------------
def createTable(self):
self.cur.execute("""CREATE TABLE Customers(
Name TEXT,
Surname TEXT,
Age TEXT,
Customernumber TEXT)""")
self.connection.commit()
self.cur.execute("""CREATE TABLE Accounts(
Accountnumber TEXT,
PIN INTEGER,
Value INTEGER,
Currency TEXT)""")
self.connection.commit()
#----------------------------------------------------------------------------
def loadDB(self):
pass
#----------------------------------------------------------------------------
def saveDB(self):
pass
#----------------------------------------------------------------------------
def editDB(self):
pass
#----------------------------------------------------------------------------
if __name__=="__main__":
main = ARTEMISDB()
main.checkDB()
main.createTable()
Connection in den Konstruktor zu schmeissen macht keinen Sinn, da ich den ja extra mit einer Methode bei bedarf aufrufen will.
Kann mir einer evtl. helfen?