powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Собрать транзакцию
21 сообщений из 21, страница 1 из 1
Собрать транзакцию
    #39665515
aleksVAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Помогите решить вопрос.
Пишу программу на Delphi Berlin + MySql

Имеется StringGrid (корзина) в котором содержится информация
id - ID товара
kol - Количество списываемого товара с БД каталога товаров (Catalog)


ТАблица Catalog содержит информацию о товаре
id -id товара
name - имя товара
kol - количество товара


Необходимо пробежаться по таблице StringGrid и вычесть из таблицы Catalog количество товара указанное в StringGrid
БД MySql таблица InnoDB

Нужно сделать все за одну транзакцию.
У меня много пользователей которые могут проводить одни и те же действия, хотелось бы избежать нарушения целостности информации и аномалии

Заранее спасибо!
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665518
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
где-то я этот стон уже читал...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665529
aleksVAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий, Дайте ссылку если уже такой стон был
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665532
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийгде-то я этот стон уже читал...

Тогда у него был MyISAM, а теперь уже InnoDB. Большой шаг вперёд.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665534
aleksVAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Если у него все делается за одну транзакцию то все равно.
Вы болтать будете или по делу что то напишите
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665537
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleksVASДайте ссылку если уже такой стон былПожалуйста http://www.sql.ru/forum/1296711/tranzakciya-po-provedenu-tovara-iz-korziny
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665553
aleksVAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,
Где тут проход по StringGrid и итоговое формирование одной транзакции?
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665556
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
aleksVAS_Vasilisk_,
Где тут проход по StringGrid и итоговое формирование одной транзакции?
это или курсовик, или тебе надо читать литературу
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665557
aleksVAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,
что нет готовых решений?
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665558
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
aleksVASdefecator,
что нет готовых решений?
Готовое решение стоит $4ОО
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665561
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatoraleksVASdefecator,
что нет готовых решений?
Готовое решение стоит $4ОО
не слушай его, у него за любую работу такса одинаковая. Иди сюда , там народ не жадный
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665568
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧСХ, юзер зарегистрирован уже 10 лет, но в создании постов не отметился.
Видимо, считает, что чтение форума - ключ к самоизучению программирования.
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665590
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любезный,

это очень даже и хорошо. особенно если есть результаты. за 10 лет то )
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665592
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
makhaonЛюбезный,

это очень даже и хорошо. особенно если есть результаты. за 10 лет то )
сначала надо научиться вычитать StringGrid из таблицы в транзакции
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665593
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon, если результатом являются подобные вопросы, это говорит, что человек не учится вообще.
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665620
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleksVASГде тут проход по StringGrid и итоговое формирование одной транзакции?Извините, барин, оплошал.
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39665859
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
25.06.2018 21:11, defecator пишет:
> сначала надо научиться вычитать StringGrid из таблицы в транзакции

дайте две! :D
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39666076
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вычитать стринггрид - это рэп наверно
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39666188
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleksVAS,

если бы делал подобную вашей задачу, думал бы в таком направлении:

1) раз говорим о целостности транзакции, то воспользуемся START TRANSACTION ..... COMMIT / ROLLBACK

2) потом, мало же просто изменить количества единиц товара, надо где то это зафиксировать в качестве лога изменений. Причем можно все изменения, проведенные в рамках транзакции, обьединить через внешний ключ со строчкой в таблице транзакций (у которой ID / Номер транзакции / дата / пользователь).

3) А теперь к чему все это вел: номер транзакции . Для его генерации советую воспользоваться табличкой, в которой в ячейке записан номер последней транзакции. Сессия того пользователя, которая хочет провести транзакцию, начинает с BEGIN TRANSACTION. Потом она должна заблокировать эту ячейку таблицы, в которой ведется номер транзакций или ждать, пока другая сессия через COMMIT или ROLLBACK её не освободит . И после этого записать туда номер+1. В этом и идея: блокировка (возможно, с ожиданием) --> всякие действия --> фиксация или откат .
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39666210
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

2, 3 - зачем эти ужасы??? в рамках транзакции все изменения видит только эта транзакция. И блокирование тут тоже непонятно зачем. Сервер сам что надо блокирует, а если уже заблокировано, приложение получит отлуп.
...
Рейтинг: 0 / 0
Собрать транзакцию
    #39666220
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛюбезныйЧСХ, юзер зарегистрирован уже 10 лет, но в создании постов не отметился...
"Консерва".
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Собрать транзакцию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]