Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 26, 2010 23:28:33

reychal
От:
Зарегистрирован: 2010-12-14
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

QtSql.QSqlQuery не работает запрос с update

Не получается реализовать update в базе. Подскажите, пожалуйста, в чем ошибка.
Подключение к бд:

def createConnection():
bdname = returnBd()
db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName(bdname)
if not db.open():
print('BD не подключена')
return False
#db.close()
return True
Работает:
def selSettings(self):
sql = 'SELECT * FROM settings'
res=[]
query = QtSql.QSqlQuery(sql)
query.executedQuery()
while query.next():
res = ([[query.value(0), query.value(1), query.value(2), query.value(3), query.value(4), query.value(5), query.value(6)]])
return res
Не работает:
def upSettings(self):
sql = 'UPDATE settings SET value = ? WHERE id = 1'
query = QtSql.QSqlQuery()
query.prepare(sql)
query.addBindValue(self.value.text())
query.executedQuery()
И другие подобные варианты не срабатывают вроде query.exec_(), query.exec_(sql), без prepare и т.д. Никакие ошибки не появляются. Что может быть не так?



Отредактировано (Дек. 26, 2010 23:33:55)

Офлайн

#2 Дек. 27, 2010 00:14:29

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

QtSql.QSqlQuery не работает запрос с update

Надо завершить транзакцию. Либо простым SQL-запросом “COMMIT”, либо каким-нибудь методом объекта query. С QtSql не знаком, точнее не скажу.



Отредактировано (Дек. 27, 2010 00:15:01)

Офлайн

#3 Дек. 27, 2010 00:41:15

reychal
От:
Зарегистрирован: 2010-12-14
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

QtSql.QSqlQuery не работает запрос с update

Много примеров пересмотрела и нигде коммита не было. Пробую добавить и получаю зависание программы.



Офлайн

#4 Дек. 27, 2010 01:51:32

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

QtSql.QSqlQuery не работает запрос с update

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version