8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
|
||||||
1 | ||||||
Разобраться с транзакциями MySQL+dbExpress04.05.2016, 18:01. Показов 1826. Ответов 20
Метки нет (Все метки)
Нужно разобраться как использовать транзакции, теорию почитал, теперь хотелось бы на практике научится.
Есть такой код, ввод в БД через форму. Подскажите куда вставлять и что, чтобы работали транзакции.
0
|
04.05.2016, 18:01 | |
Ответы с готовыми решениями:
20
Проблема с транзакцией MySql + dbExpress С++ Builder (dbExpress) + MySQL Помогите с dbexpress и mysql DBExpress+DDL MySQL |
16 / 15 / 4
Регистрация: 30.10.2014
Сообщений: 175
|
|
04.05.2016, 20:56 | 2 |
Если вопрос такой задаёте, то теорию плохо читали
0
|
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
|
|
04.05.2016, 21:04 [ТС] | 3 |
Спасибо, если бы я хорошо знал теорию и практику, то не задавал бы вопросов вообще. Я пока только учусь. Можете тогда мне сказать в чем именно неправильно поставлен мой вопрос?
0
|
05.05.2016, 08:44 | 4 |
если человек читал, то он знает что и где нужно использовать
обычно только или недоделывает или переделывает а с вопросами типа точно нужно отправлять за учебники PS а вы даже поленились в поиск посмотреть Как правильно сделать транзакцию? ADO http://www.sql.ru/articles/mss... 3ado.shtml
0
|
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
|
|
06.05.2016, 19:50 [ТС] | 5 |
Спасибо конечно за содержательный ответ, может я конечно не такой "зоркий глаз". Но мне вообще-то нужно не в ADO сделать транзакции, такие посты я и сам находил. Мне нужно в dbExpress сделать транзакции и мне не нужно полностью показывать что и куда вставлять, мне нужен пример, как это делается именно в dbExpress, а дальше я уже и сам разберусь.
0
|
06.05.2016, 20:34 | 6 |
да? а с помощью какой технологии вы подключаетесь к БД?
это как если бы вы сказали что 1 <> 1 в чем? в примере? я дал вам примеры - там написано как использовать транзакции
0
|
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
|
|
06.05.2016, 21:19 [ТС] | 7 |
Спасибо.
Добавлено через 42 минуты Я подключаюсь через SQlConnection, это что по вашему одно и тоже, что и ADO?
0
|
06.05.2016, 21:30 | 8 |
0
|
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
|
||||||
07.05.2016, 20:50 [ТС] | 9 | |||||
А как проверить результат выполнения запроса, чтобы при выполнении запроса подтвердить транзакцию, а при не выполнении откатить?
к примеру такой код:
0
|
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
|
||||||
07.05.2016, 21:19 [ТС] | 11 | |||||
Спасибо за улыбочку.
Я так понимаю, Except - секция обработки ошибок и если поставить после запроса except, то то что нужно делать в случае ошибки (откат, вывод сообщения об ошибке), выводить после этого ключевого слова? Добавлено через 4 минуты
0
|
AxBxC=X
155 / 135 / 58
Регистрация: 27.04.2016
Сообщений: 549
|
|
07.05.2016, 22:08 | 12 |
Наверное, сначала нужно разобраться в теории. Что такое транзакция, зачем её придумали (зачем-то ведь её придумали?), как управлять транзакцией. В документации обязательно обнаружатся примеры - куда ж без них. И уже потом переходить к экспериментам.
0
|
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
|
|
07.05.2016, 22:11 [ТС] | 13 |
Наверное, чем и занимаюсь. А как насчет конкретного ответа по моему коду, что не так?
0
|
AxBxC=X
155 / 135 / 58
Регистрация: 27.04.2016
Сообщений: 549
|
|
07.05.2016, 22:19 | 14 |
Вы ведь учитесь. Если всё разжёвывать и выкладывать на блюдечке, учёба накрывается медным тазиком. Стимул изучения матчасти в том, что вам нужно получить результат.
0
|
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
|
|
07.05.2016, 22:30 [ТС] | 15 |
Я так понимаю, помочь здесь могут только первокурсникам, которые спрашивают как сделать какой-нибудь запрос или значение Edit внести в поле БД, я когда был на таком уровне, целая очередь выстраивалась мне помогать подсказывать и никто не говорил:"Вы ведь учитесь". А когда немного углубляешься и появляются нюансы, все сразу начинают не мешать мне учится.
Теории и примеров именно по транзакциям в SQLConnection почему-то очень мало и очень обрезано, вот примеры: http://delphi.support.uz/index... ema&id=229, http://www.delphimaster.ru/art... ndex3.html. Может я не там где-то ищу?
0
|
08.05.2016, 00:12 | 16 |
Rollback чего вы делаете?
где сама транзакция? где подтверждение? у вас по первой ссылке все написано оборачиваете запрос транзакцией, запускаете, подтверждаете и тут нужно вовремя поймать ошибку что бы сделать Rollback
0
|
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
|
||||||||||||||||
08.05.2016, 16:32 [ТС] | 17 | |||||||||||||||
Я все понимаю, но не могу разобраться с синтаксисом именно для SQLConnection. Когда делаю так:
А есть еще такой вариант:
Самое главное я уже сколько роюсь не могу найти ни одного примера как это сделано с SQLConnection, во всех форумах, где возникает такой вопрос все отправляют в гугл и теорию почитать, а вот про ADOConnection примеров полно, но не получается сделать то же самое с SQLConnection. Хотя бы объясните, что означает, когда функция подсвечивается не черным а серым цветом, бывает, что она вообще не доступна, а тут вроде доступна, но при запуске программы не работает. Добавлено через 3 часа 14 минут Нашел! На каком-то англоязычном сайте нашел кусок кода, по которому понял, что нужно делать так: Нужно некоторой переменной задать тип TTransactionDesc, задать ей параметры транзакции и потом эту переменную использовать как параметр во всех функциях связанных с транзакциями.
У меня только еще один вопрос, может кто подскажет: функция Except сама проверяет на правильность выполнения запроса или мне еще как-то нужно ее подстраивать? или все что под Except можно считать ошибочным и не париться?
0
|
AxBxC=X
155 / 135 / 58
Регистрация: 27.04.2016
Сообщений: 549
|
|
08.05.2016, 17:38 | 18 |
См. "Обработка исключительных ситуаций в Delphi"
Гуглится и яндексится.
0
|
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
|
|
08.05.2016, 20:13 [ТС] | 19 |
0
|
AxBxC=X
155 / 135 / 58
Регистрация: 27.04.2016
Сообщений: 549
|
|
08.05.2016, 20:49 | 20 |
edsjeka,
Пожалуйста! Не по теме: Вы ленитесь работать с документацией.
0
|
08.05.2016, 20:49 | |
08.05.2016, 20:49 | |
Помогаю со студенческими работами здесь
20
Соединить приложение с СУБД MySQL через компоненту dbExpress Бубны Borland C++ XE в составе RADStudio + dbExpress + Mysql сервер версии 5 и выше! Пожалуйста нужно разобраться с запросом Mysql! Одним запросом из двух таблиц / MySQL Управление транзакциями в С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |