|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.11.2013, 23:02 | #1 |
Пользователь
Регистрация: 02.11.2011
Сообщений: 25
|
Добавление товара на склад
Добрый вечер.
Задача такая: Имеется таблица (БД Paradox) storage с тремя полями - ItemID, ItemName, Count. И соответственно 3 Edit-а, где ввожу ID, название товара и его количество. По нажатию на кнопку "Добавить" должен активироваться SQL-запрос на добавление указанного товара. Если этот товар есть на складе, то прибавить количество, указанное в Edit-е, иначе добавить товар на склад. Использую Query, в св-ве SQL пишу вот этот запрос: Код:
Код:
В чем может быть проблема и как ее исправить? |
03.11.2013, 23:23 | #2 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
в том что вы попутали северный берег южного моря с южным берегом северного моря..
откуда в LocalSQL взялись все эти выкрутасы с ифом и экзистом? |
03.11.2013, 23:27 | #3 |
Пользователь
Регистрация: 02.11.2011
Сообщений: 25
|
Ну учитывая, что я в этом не разбираюсь...
И как тогда оформить это в запрос? |
04.11.2013, 00:29 | #4 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
делайте 3 запроса
|
04.11.2013, 00:41 | #5 |
Пользователь
Регистрация: 02.11.2011
Сообщений: 25
|
А можно поподробней пожалуйста?
Хотя бы на словах. |
04.11.2013, 12:19 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1-й запрос:
Код:
если равно нулю (значит, записей нет) и выполняете запрос вставки: Код:
тогда выполняете запрос на обновление данных: Код:
|
04.11.2013, 14:48 | #7 |
Пользователь
Регистрация: 02.11.2011
Сообщений: 25
|
Ну вроде немного понял...
Долго мучился, что значит "as cntA". Хех, просто выполнил запрос и стало понятно)) Отвечая на Ваш вопрос о одинаковых записях ItemName, могу сказать, что в таком случае на мой взгляд надо добавить проверку и по ItemID (ID точно будут у записей разные). Но я решил не усложнять себе проблему и сделать поиск только по имени. Хотя в этом случае там только надо сделать вот так, да? Код:
Каким образом можно добавить в Query несколько запросов, и использовать при этом и Table и один DBGrid? Пробовал через Query.SQL.Add но ничего не выходило. И в итоге построил запросы в другой таблице на двух компонентах Query(1-поиск клиента, 2-удаление) и логике (логика переключала DataSource.DataSet между таблицей и двумя Query). Последний раз редактировалось W. Aron; 04.11.2013 в 14:58. |
04.11.2013, 20:36 | #8 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Откуда у Вас взялся ItemID ?! У Вас что, есть значение КЛЮЧЕВОГО поля?!! Тогда вообще непонятно, что Вы городите. Ибо. первое. Если у Вас есть уникальный ключик, то зачем Вам проверка?! У Вас УЖЕ есть ключ нужной записи, зачем её ещё раз искать?! второе. о каком Insert может идти речь, если у Вас есть ключевое поле? Insert в вашем случае не может быть! ну и третье. ключевое поле однозначно определяет нужную запись (на то оно и ключевое). поэтому никаких ItemName like не нужно. ну и ключевое поле тоже без LIKE пишите - это (в общем случае) более эффективно: Код:
Цитата:
Последний раз редактировалось Serge_Bliznykov; 04.11.2013 в 20:38. |
||
04.11.2013, 21:35 | #9 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
|
|
04.11.2013, 23:02 | #10 | |
Пользователь
Регистрация: 02.11.2011
Сообщений: 25
|
Цитата:
Кстати попробовал запрос Update. Почему-то жалуется на Count. Что забавнее всего - если Select'ом по очереди выдергивать столбцы, то только на нем выскакивает ошибка "Invalid use of keyword. Token: from".Попробую изменить название столбца... правда не знаю поможет ли... Upd. Помогло. Последний раз редактировалось W. Aron; 04.11.2013 в 23:05. |
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
добавление товара в корзину через ajax | moshkin_ura | JavaScript, Ajax | 8 | 14.10.2013 13:25 |
БД склад | ZveR999 | Microsoft Office Access | 0 | 30.05.2012 15:40 |
Postgre: функция добавления товара на склад | Blondy | SQL, базы данных | 2 | 07.01.2012 14:32 |
что и где нужно прописать чтобы при добавление одежды через форму на Delphi она отображалась в таблице склад | студенточка! | Помощь студентам | 0 | 14.12.2011 16:35 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |