|
|
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите решить вопрос. Пишу программу на Delphi Berlin + MySql Имеется StringGrid (корзина) в котором содержится информация id - ID товара kol - Количество списываемого товара с БД каталога товаров (Catalog) ТАблица Catalog содержит информацию о товаре id -id товара name - имя товара kol - количество товара Необходимо пробежаться по таблице StringGrid и вычесть из таблицы Catalog количество товара указанное в StringGrid БД MySql таблица InnoDB Нужно сделать все за одну транзакцию. У меня много пользователей которые могут проводить одни и те же действия, хотелось бы избежать нарушения целостности информации и аномалии Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 18:38 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
где-то я этот стон уже читал... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 18:40 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, Дайте ссылку если уже такой стон был ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 19:02 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийгде-то я этот стон уже читал... Тогда у него был MyISAM, а теперь уже InnoDB. Большой шаг вперёд. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 19:05 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Если у него все делается за одну транзакцию то все равно. Вы болтать будете или по делу что то напишите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 19:12 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
aleksVASДайте ссылку если уже такой стон былПожалуйста http://www.sql.ru/forum/1296711/tranzakciya-po-provedenu-tovara-iz-korziny ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 19:16 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Где тут проход по StringGrid и итоговое формирование одной транзакции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 19:44 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
aleksVAS_Vasilisk_, Где тут проход по StringGrid и итоговое формирование одной транзакции? это или курсовик, или тебе надо читать литературу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 19:50 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
defecator, что нет готовых решений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 19:55 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
aleksVASdefecator, что нет готовых решений? Готовое решение стоит $4ОО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 19:56 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
defecatoraleksVASdefecator, что нет готовых решений? Готовое решение стоит $4ОО не слушай его, у него за любую работу такса одинаковая. Иди сюда , там народ не жадный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 20:05 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
ЧСХ, юзер зарегистрирован уже 10 лет, но в создании постов не отметился. Видимо, считает, что чтение форума - ключ к самоизучению программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 20:18 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
Любезный, это очень даже и хорошо. особенно если есть результаты. за 10 лет то ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 21:09 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
makhaonЛюбезный, это очень даже и хорошо. особенно если есть результаты. за 10 лет то ) сначала надо научиться вычитать StringGrid из таблицы в транзакции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 21:11 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
makhaon, если результатом являются подобные вопросы, это говорит, что человек не учится вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 21:25 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
aleksVASГде тут проход по StringGrid и итоговое формирование одной транзакции?Извините, барин, оплошал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 22:25 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
25.06.2018 21:11, defecator пишет: > сначала надо научиться вычитать StringGrid из таблицы в транзакции дайте две! :D Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 11:32 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
вычитать стринггрид - это рэп наверно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 15:22 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
aleksVAS, если бы делал подобную вашей задачу, думал бы в таком направлении: 1) раз говорим о целостности транзакции, то воспользуемся START TRANSACTION ..... COMMIT / ROLLBACK 2) потом, мало же просто изменить количества единиц товара, надо где то это зафиксировать в качестве лога изменений. Причем можно все изменения, проведенные в рамках транзакции, обьединить через внешний ключ со строчкой в таблице транзакций (у которой ID / Номер транзакции / дата / пользователь). 3) А теперь к чему все это вел: номер транзакции . Для его генерации советую воспользоваться табличкой, в которой в ячейке записан номер последней транзакции. Сессия того пользователя, которая хочет провести транзакцию, начинает с BEGIN TRANSACTION. Потом она должна заблокировать эту ячейку таблицы, в которой ведется номер транзакций или ждать, пока другая сессия через COMMIT или ROLLBACK её не освободит . И после этого записать туда номер+1. В этом и идея: блокировка (возможно, с ожиданием) --> всякие действия --> фиксация или откат . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 18:45 |
|
||
|
Собрать транзакцию
|
|||
|---|---|---|---|
|
#18+
Кроик Семён, 2, 3 - зачем эти ужасы??? в рамках транзакции все изменения видит только эта транзакция. И блокирование тут тоже непонятно зачем. Сервер сам что надо блокирует, а если уже заблокировано, приложение получит отлуп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 20:33 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39666076&tid=2040695]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 468ms |

| 0 / 0 |
