import MySQLdb
import sys
from libdesklets.controls import Control
from IDBConnection import IDBConnection
class DBConnection(Control, IDBConnection):
host = 'xxxx'
user = 'xxxx'
passwd = 'xxxx'
db = 'xxxx'
def __init__(self):
Control.__init__(self)
pass
def __get_dbconnection(self):
db = MySQLdb.connect(self.host, self.user, self.passwd, self.db)
return db
def __insert(self):
db = self.__get_dbconnection()
cursor = db.cursor()
cursor.execute("INSERT INTO Usernotes (UID, NID, Inhalt) VALUES (3, 1, 'text');")
cursor.close()
db.close()
def __select(self):
db = self.__get_dbconnection()
cursor = db.cursor()
cursor.execute("SELECT Inhalt FROM Usernotes WHERE UID = 1 AND NID = 1;")
cursor.close()
db.close()
def __update(self):
db = self.__get_dbconnection()
cursor = db.cursor()
cursor.execute("UPDATE Usernotes SET Inhalt = 'inserttest' WHERE UID = 1 AND NID = 2;")
cursor.close()
db.close()
insert = property(__insert, doc="insert into database")
select = property(__select, doc="select from database")
update = property(__update, doc="update database")
def get_class(): return DBConnection
Код выше, является управление для работы с MySQL-базы данных для gdesklets Linux (тот, где контроль импорта и импорта IDbConnection грядет из). Поэтому, когда мы вызываем свойства из другого файла (dbc.insert()/dbc.select()/dbc.update()), мы получаем ошибку «Объект« NoneType »не вызываем». Если мы добавим типы возвращаемых данных, мы получим, что объект «ReturnType» не может быть вызван ». Функции работают, и операции с базой данных выполняются, но файл отображения (где вызываются функции) падает после исключения.Python Database Connection объект «» NoneType не отозваны
Надеюсь, кто-то может нам помочь.
Два намека: во-первых, задавая вопрос об ошибке, скопируйте/вставьте полное сообщение об ошибке, в котором есть много подсказок о том, где произошла ошибка. Во-вторых, ошибки в «NoneType» обычно означают, что функция вернула «Нет», когда вы этого не ожидали, начните искать там. –