ich habe ein Problem mit der sqlite3 Datenbank. Ich würde gerne ein paar eintrage machen und diese auch auslesen. Ich habe einen kleinen Code geschrieben der leider nicht so Funktioniert wie ich es mir erhofft habe.
Hier mein Codefile create_db.py zur erzeugung der DB
Code: Alles auswählen
import sqlite3
#datenbank erzeugen
conn = sqlite3.connect('test.db')
print "Erfolgreich DB angelegt"
#table erzeugen mit den param.
conn.execute('''CREATE TABLE COMPANY
(ID INTEGER PRIMARY KEY AUTOINCREMENT,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''')
print "Erzeuge Table"
#ein paar dummy einträge
conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) \
VALUES ( 'Greg', 32, 'Wien', 20000.00 )");
conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) \
VALUES ( 'Peter', 25, 'Salzburg', 15000.00 )");
conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) \
VALUES ( 'Franz', 23, 'Tirol', 20000.00 )");
conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) \
VALUES ( 'Helga', 25, 'Steiermark', 65000.00 )");
conn.commit()
print "Eintraege erfolgreich eingetragen"
conn.close()
hier ist mein Codefile insert_db.py zum eintragen in die db
Code: Alles auswählen
import sqlite3
name = raw_input("Name: ")
age = int(input("Age: "))
address = raw_input("Address: ")
salary = int(input("Salary: "))
conn = sqlite3.connect("test.db")
conn.execute("INSERT INTO COMPANY(name, age, address, salary) values(?,?,?,?)",
(name, age, address, salary))
Code: Alles auswählen
import sqlite3
conn = sqlite3.connect("test.db")
print "Opened database successfully"
cursor = conn.cursor()
cursor.execute("SELECT * FROM COMPANY")
personen = []
for row in cursor.fetchall():
personen.append(dict(id=row[0], name=row[1],address=row[2],salary=row[3]))
print personenaus
Ich benutzte Windows 7 und python 2.7.
Zum aulesen der DB habe ich ein kleines prog. SqliteBrowser.
mfg Gregor