lundi 6 avril 2015

Insert into SQLite file Python - does not work

I have a simple database application in Python with SQLite. I wrote a simple program to create database and insert into some values. However, database is created, but new values are not inserted, and I don't know why:



#!/usr/bin/python
# -*- coding: utf-8 -*-

import sqlite3 as lite
import sys


def CreateTable():
try:

connection = lite.connect(':memory:')

with connection:

cursor = connection.cursor()
sql = 'CREATE TABLE IF NOT EXISTS Authors' + '(ID INT PRIMARY KEY NOT NULL, FIRSTNAME TEXT, LASTNAME TEXT, EMAIL TEXT)'
cursor.execute(sql)

data = '\n'.join(connection.iterdump())
with open('authors.sql', 'w') as f:
f.write(data)

except lite.Error, e:
if connection:
connection.rollback()
finally:
if connection:
cursor.close()
connection.close()

def Insert(firstname, lastname, email) :
try:

connection = lite.connect('authors.sql')

with connection:

cursor = connection.cursor()
sql = "INSERT INTO Authors VALUES (NULL, %s, %s, %s)" % (firstname, lastname, email)
cursor.execute(sql)

data = '\n'.join(connection.iterdump())
with open('authors.sql', 'w') as f:
f.write(data)

except lite.Error, e:
if connection:
connection.rollback()
finally:
if connection:
cursor.close()
connection.close()



CreateTable()
Insert('Tibby', 'Molko', 'tibby.molko@yahoo.co.uk')

Aucun commentaire:

Enregistrer un commentaire