crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Транзакции, не работают :(
Litkevich Yuriy
  опции профиля:
сообщение 30.8.2010, 16:41
Сообщение #11


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я поступил по другому: логика работы программы допускала мелкие транзакции, хотя они и были нежелательны.
Т.е. я выкинул
db.transaction();
db.rollback();
и т.п.

а чтобы ничего страшного нельзя было сделать повсеместно использую (конечный) автомат управления кнопками "отмена/сохранить" и блокировку виджетов. Если начал пользователь работать в одном месте, куча виджетов блокируется, пока он не нажмёт либо "отмена", либо "сохранить".
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
potkin
  опции профиля:
сообщение 30.8.2010, 18:04
Сообщение #12


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 18.6.2010
Пользователь №: 1819

Спасибо сказали: 0 раз(а)




Репутация:   0  


Litkevich Yuriy,
Это как получается.
Если на форме есть виджеты и каждая группа виджетов отображает (редактирует/сохраняет) данные из разных таблиц и которые НЕЛЬЗА сохранить в контексте ОДНОЙ транзакции, то:
Пока пользователь работает с одной группой виджетов, остальные блокируются, пока он не сохранит эти данные в контексте какой-то транзакции.
Потом 2-ю группу виджетов редактирует, остальные блокируются, пока не сохранит ...
и т.д.
:wacko:

Правильно ???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 30.8.2010, 18:46
Сообщение #13


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


potkin, я работаю с MySQL 5+ из студии через ихний апи, который они прилагают. Транзакции работают. А ещё, можно сделать встроенную процедуру и там работать с транзакциями

Всё редактирование можно хранить в озу, а по кнопке закидывать в базу (если так возможно)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
potkin
  опции профиля:
сообщение 30.8.2010, 21:32
Сообщение #14


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 18.6.2010
Пользователь №: 1819

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Алексей1153 @ 30.8.2010, 18:46) *
potkin, я работаю с MySQL 5+ из студии через ихний апи, который они прилагают. Транзакции работают. А ещё, можно сделать встроенную процедуру и там работать с транзакциями.
Всё редактирование можно хранить в озу, а по кнопке закидывать в базу (если так возможно)

Мне бы в контексте одной транзакции как-то сохранить модель (QSqlTableModel ) и запрос (QSqlQuery) ..... :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 30.8.2010, 22:18
Сообщение #15


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(potkin @ 30.8.2010, 22:04) *
Правильно ???
да. Для пользователя это более интуитивно, чем в случае, когда пользователь сделал одно, полез в другое, а потом сохранять в произвольном порядке. При этом БД ему что-то пишет об ошибке в ответ на неродном языке. Он это воспринимает как кривость программы (вобщем-то он прав)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 31.8.2010, 6:38
Сообщение #16


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


potkin, а что значит "сохранить модель" и "сохранить запрос" ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 31.8.2010, 7:31
Сообщение #17


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Алексей1153 @ 31.8.2010, 10:38) *
а что значит "сохранить модель" и "сохранить запрос" ?
по-моему всё очевидно. Данные из модели отправляются в БД, запрос также изменяет БД. И нужно чтобы это была атомарная операция
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 31.8.2010, 8:16
Сообщение #18


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


вот не люблю эту автоматизацию. Надо так: делаешь себе правки, никого не трогаешь. Потом - жамк кнопку - сделался sql запрос/вызвалась процедура - и всё. А тут так и будешь стараться держать, чтоб всё не разбежалось по углам ))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 14.1.2025, 22:51