Напейсал я вот такой скриптик “DB.py”:
import sqlite3
import os
def create_db(dbname):
if os.path.exists(dbname):
print("\nWrong name for DB. Try again.\n")
return
else:
db=sqlite3.connect(dbname)
cursor=db.cursor()
cursor.execute("Create table STUFF( "
"id INTEGER NOT NULL , "
"firstname TEXT NOT NULL , "
"lastname TEXT NOT NULL , "
"position TEXT NOT NULL , "
"salary FLOAT NOT NULL )"
)
db.commit()
return db
def add_empl(db,fname,lname,pos,sal):
cursor=db.cursor()
cursor.execute("INSERT INTO STUFF "
"(firstname, lastname, position, salary) "
"VALUES (?, ?, ?, ?)"
(fname, lname, pos, sal))
db.commit()
В командной строке ввожу:
from DB import *
db=create_db('dbname')
База и таблица создается, все нормально. Но при попытке добавить запись:
add_empl(db,'Ioann','Pupkin','programmist', 1000000)
случается ошибка:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "DB.py", line 25, in add_empl
(fname, lname, pos, sal))
TypeError: 'str' object is not callable
Подскажите, пожалуйста, где я не прав.