Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
314251
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
1
MS SQL

Проверка при добавлении

25.05.2017, 15:38. Просмотров 412. Ответов 12
Метки нет (Все метки)

Как сделать, чтоб при добавлении в formsklad.sDBGrid6 чтоб проверялось поле NaztTovat и если там такое есть, то к полю количество добавлялось новое значение, а если такого нету, то новое добавление??
sql server+adotable
вот так добавляю товар:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure TForm8.sBitBtn3Click(Sender: TObject);
begin
dm.DataSource2.DataSet.First;
While not dm.DataSource2.DataSet.eof do begin
 
begin
   dm.DataSource2.DataSet.FieldByName('Artikyl').AsString ;
 
      dm.TovarSklad.Append;
   formsklad.sDBGrid6.DataSource.DataSet.FieldByName('artikyl').AsString:=formsklad.sDBGrid2.DataSource.DataSet.FieldByName('artikyl').AsString;
   formsklad.sDBGrid6.DataSource.DataSet.FieldByName('NaztTovat').AsString:=formsklad.sDBGrid2.DataSource.DataSet.FieldByName('NazTovar').AsString;
   formsklad.sDBGrid6.DataSource.DataSet.FieldByName('Nomer_zakaza').AsString:=formsklad.sDBGrid2.DataSource.DataSet.FieldByName('Nomer_zakaza').AsString;
   formsklad.sDBGrid6.DataSource.DataSet.FieldByName('Kolichestvo').AsInteger:=formsklad.sDBGrid2.DataSource.DataSet.FieldByName('Kolichestvo').AsInteger;
   formsklad.sDBGrid6.DataSource.DataSet.FieldByName('Cena_zakypki').AsInteger:=formsklad.sDBGrid2.DataSource.DataSet.FieldByName('Cena_zakypki').AsInteger;
   formsklad.sDBGrid6.DataSource.DataSet.FieldByName('Cena_prodaji').AsInteger:=formsklad.sDBGrid2.DataSource.DataSet.FieldByName('Cena_prodaji').AsInteger;
   formsklad.sDBGrid6.DataSource.DataSet.FieldByName('Original').AsString:=formsklad.sDBGrid2.DataSource.DataSet.FieldByName('Original').AsString;
 
     dm.Tovarsklad.Post;
   dm.DataSource2.DataSet.Next;
 end;
 end;
showmessage('добавлен');
sbitbtn3.Enabled:=false;
end;
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2017, 15:38
Ответы с готовыми решениями:

SQL запрос: проверка на одинаковые записи при добавлении
БД: Data, Naimenovanie predpriyatiya, FIO rukovoditelya и т.д. Нужно чтобы при добавлении в одну...

проверка при добавлении
пользователь добавляет товары в корзину, а потом нажимает сохранить список покупок. как можно...

Проверка при добавлении в ListBox
Доброго времени суток, вот почти готова моя программа, над которой тружусь последние пару часов,...

Проверка возраста сотрудника при добавлении в БД
Здравствуйте, у меня такая проблема! Я к программе подключил БД SQl. Мне нужно что бы при...

12
YuryK
1035 / 852 / 334
Регистрация: 08.12.2016
Сообщений: 3,283
25.05.2017, 16:04 2
Цитата Сообщение от 314251 Посмотреть сообщение
то к полю количество добавлялось новое значение
а что с 'Nomer_zakaza' делать? Тоже прибавлять? А с 'Cena_prodaji' и 'Cena_zakypki', если они не совпадают с теми, что имеются? А если на кнопку еще раз нажмут?
0
314251
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
25.05.2017, 16:38  [ТС] 3
ну тоже верно, если NaztTovat и Cena_zakypki совпадают, то прибавлять количество, если хоть что-то из этого не совпадает, то новое)
номер вставлять ток если новый товар, он всё равно не отображается там
0
YuryK
1035 / 852 / 334
Регистрация: 08.12.2016
Сообщений: 3,283
25.05.2017, 16:42 4
а с 'Nomer_zakaza' что делать определились? И с повторным нажатием на кнопку?

Это я тонко намекаю, что зачем вам вторая таблица, так похожая на первую, но только совсем не управляемая?
0
krapotkin
4128 / 3441 / 1163
Регистрация: 14.04.2014
Сообщений: 16,518
Записей в блоге: 17
25.05.2017, 16:56 5
не нужно ничего никуда добавлять, никакие остатки
количество товара вычисляется запросом по таблице движение товара в которую вы собственно добавляете запись
если приход - количество положительное. расход - отрицательное, то сумма по количеству по этой таблице и есть количество на складе
0
314251
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
25.05.2017, 16:57  [ТС] 6
"номер" если запись такая есть, то ничего не делай, если записи такой нету, то добавляй, ну тип так надо, чтоб в ту переносилось ну повторное нажатие я заблокирую)
0
YuryK
1035 / 852 / 334
Регистрация: 08.12.2016
Сообщений: 3,283
25.05.2017, 17:02 7
Цитата Сообщение от 314251 Посмотреть сообщение
ну повторное нажатие я заблокирую)
т.е. одноразовая кнопка? А если программу вновь запустят? Или Данные в sDBGrid2 только заносят, но посмотреть нельзя? А если данные в sDBGrid2 занесут, а на кнопку не нажмут?
0
314251
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
25.05.2017, 17:06  [ТС] 8
как это кодом реализовать с тем добавлением, что у меня?

Добавлено через 2 минуты
смотри, есть таблица с заказами, в одном заказе много товаров, при нажатии на кнопку они отправляются на склад и кнопка блокируется, потом при открытии нового заказа, снова делаем так, чтоб можно нажать
0
YuryK
1035 / 852 / 334
Регистрация: 08.12.2016
Сообщений: 3,283
25.05.2017, 17:09 9
а если при вводе ошиблись и нужно в заказе исправить количество?

Добавлено через 1 минуту
заказы в БД будет вносить только один человек?
0
314251
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
25.05.2017, 17:11  [ТС] 10
ну уже поздно будет, так как если представить это в живую, то товар уже пришёл в магазин, а если товар количество меньше пришло, то потом пользователь сможет зайти в ту таблицу, куда мы всё отправили и там поменять руками)
Да
0
YuryK
1035 / 852 / 334
Регистрация: 08.12.2016
Сообщений: 3,283
25.05.2017, 17:17 11
Так в той таблице не столько сколько пришло стоять будет, а сколько осталось, как вручную ему менять? Тем более, что пока он менять надумает, кто-то другой ещё заказ "проведет". А вот исправить ошибку в месте её возникновения - в заказе - значительно безопаснее.

P/S/ Помогать делать неправильно на этом форуме вряд ли кто возьмется, так что дерзать вам придется самому
0
314251
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
25.05.2017, 17:36  [ТС] 12
так мне просто нужно, чтоб помогли с кодом проверки на повтор, в проекте всё правильно

Добавлено через 6 минут
есть заказ, в неём много товаров, при нажатии на кнопку, весь товар с того заказа, переносится в другую таблицу"склад" так что всё правильно и мне надо, чтоб при добавлении была проверка на повторяемость товара
0
krapotkin
4128 / 3441 / 1163
Регистрация: 14.04.2014
Сообщений: 16,518
Записей в блоге: 17
25.05.2017, 20:23 13
присоединюсь. не нужно помогать делать то что делать не нужно
0
25.05.2017, 20:23
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2017, 20:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проверка на имя при добавлении информации в бд
Добрый день! Есть код: $NAME = $_POST; $NAME_DEB = $_POST; $CATEGORY = $_POST; //проверка на...

Проверка строки на наличие в stringgrid при добавлении
Доброго времени суток! Есть две таблицы. В одну выведена вся таблица из базы данных. Я щелкаю по...

VB Проверка на уникальность, при добавлении новой записи
Всех приветствую. Столкнулся с небольшой проблемой проверки на уникальность (поле "Номер" ) при...

Проверка на существование блока (parent/child) при добавлении
Столкнулся с проблемой: При записи данных в XML док, необходимо проверить на существование таких...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.