|
6 / 6 / 0
Регистрация: 16.05.2010
Сообщений: 98
|
|||||||||||
Прибавление к текущей записи05.05.2012, 19:04. Показов 1300. Ответов 19
Метки нет (Все метки)
Здравствуйте! Есть база через ADO. Есть форма добавления записи в ней находятся DBEdit`ы и DBLookupComboBox, первый для ввода количества материала, второй для выбора материала из другой таблицы по подстановочному полю.
При нажатии на кнопку Добавить хочу сделать проверку на наличие такого материала в таблице, и если он имется, то просто прибавить введенное количество к существующей записи, а если не существует, то тогда уже добавить. Специально для этой цели поставил второй ADOTable с подключением к этой же таблице, т.к. я фильтрую записи, а при фильтрации Insert сбрасывается. В общем вначале фильтрую записи во втором ADOTable:
0
|
|||||||||||
| 05.05.2012, 19:04 | |
|
Ответы с готовыми решениями:
19
Вывод в отчет текущей записи Кнопка, отвечающая за удаление текущей записи из таблицы |
|
6 / 6 / 0
Регистрация: 16.05.2010
Сообщений: 98
|
||||||||||||
| 09.05.2012, 19:34 [ТС] | ||||||||||||
|
В общем проверяю вначале на наличие записи, если нету записи то пытаюсь добавить...
Что я делаю не так? Добавлено через 12 минут Хотя наверное я знаю почему не работает таким образом... Дело в том что я использую две связанные между собой таблицы. И в той таблице в которой я пытаюсь реализовать данное прибавление, показываются лишь те записи, которые соответствуют таблице 1. А через locate я ищу запись которая есть, но не отображается т.к. фильтруется по связи с таблицей 1. Т.е. запись находит но т.к. она не отображается то прибавляется к текущей... Мастера, как можно это исправить?
0
|
||||||||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
||
| 09.05.2012, 19:47 | ||
|
Plug, запросами SQL вы это сделаете программу гораздо быстрее и компактнее, и скорость ответа системы на запросы пользователя будет минимальной...
ваш подход имеет место быть, т.к. это позволяет сделать используемые классы, но от оптимального он очень далек... Добавлено через 4 минуты Plug,
1
|
||
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
||||||||||||
| 09.05.2012, 20:14 | ||||||||||||
|
Lord_Voodoo,
1
|
||||||||||||
|
6 / 6 / 0
Регистрация: 16.05.2010
Сообщений: 98
|
||
| 09.05.2012, 20:51 [ТС] | ||
|
0
|
||
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
| 09.05.2012, 21:44 | |
|
1
|
|
|
6 / 6 / 0
Регистрация: 16.05.2010
Сообщений: 98
|
|
| 09.05.2012, 21:59 [ТС] | |
|
Уже вроде решил проблему
![]() Вот только один вопрос... У меня стоит DBLookupComboBox, как можно при выборе в нем значений получаемый keyfield вывести в Edit?
0
|
|
|
6 / 6 / 0
Регистрация: 16.05.2010
Сообщений: 98
|
|
| 09.05.2012, 23:12 [ТС] | |
|
Пробовал. Но это получается ListField, т.е. текстом, а мне нужен код, т.е. KeyField
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|||||||||||
| 10.05.2012, 01:07 | |||||||||||
|
The_Immortal,
ну вообще этот код можно и одной строкой сделать:
0
|
|||||||||||
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
||||||
| 10.05.2012, 01:12 | ||||||
|
Lord_Voodoo, нее, теперь я хочу сказать, что
![]() Или нет?
0
|
||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 10.05.2012, 01:14 | |
|
The_Immortal, не осилил, что вы этим хотели сказать
0
|
|
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
| 10.05.2012, 01:16 | |
|
Lord_Voodoo, Внедрение SQL-кода
Правда не знаю насколько это актуально для такого рода запросов, однако много где говорят использовать только параметризованные запросы.
1
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
||
| 10.05.2012, 01:25 | ||
|
The_Immortal, для строковых нужно использовать функцию AnsiQuotedStr, ну и экранирование внутри строки... и тогда:
1
|
||
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
| 10.05.2012, 01:34 | |
|
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 10.05.2012, 01:38 | |
|
The_Immortal, а вот с другой стороны, параметризованные запросы все равно в базу должны отправить запрос с уже заданным значением, следовательно, можно отписать свое форматирование передаваемых данных, да и все... но даже с параметром, все равно запросы гораздо лучше использовать... убедился на своем опыте, когда табличные коды перегонял на запросы...
0
|
|
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
| 10.05.2012, 01:43 | |
|
Lord_Voodoo, немного не понял, из запросов - какие все-таки оптимальнее использовать? Обычные или параметризованные?
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 10.05.2012, 01:49 | |
|
The_Immortal, да нет разницы... вернее параметризованные удобнее, потому что не заботишься о подготовке данных сам, это за тебя объект сделает перед отправкой... зато с обычными текст становится несколько меньше по объему
1
|
|
| 10.05.2012, 01:49 | |
|
Помогаю со студенческими работами здесь
20
Изменение текущей записи Обновление текущей записи!!! Удаление текущей записи Синхронизация текущей записи Удаление текущей записи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|