![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
|||
|
|||
|
Ну что больше половины программы написал, все это было про добавление товаров, теперь мне нужно реализовать продажу.
Нужно сделать ввод данных из базы в новую табличку, даже не в одну а в несколько, так как дата продажи у меня хранится в одной таблице, а кол-во и т.п. в другой, это примерно так выглядит: Код:
insert into prodaga (Data_progaga) values ('12.05.05');
insert into prodannie_products (id_prodaga, id_product, kol_vo_prodannih_products, ckidka) values (1,6,'1','500');но самое интересное, при продаже мне нужно в ранее упомянутой таблице product сделать kol_vo_na_sklade -n, где n=kol_vo_prodannih_products и это все меня опять в тупик толкнуло... Во первых, как связать 2а этих (в коде) запроса в один? |
|
#17
|
||||
|
||||
|
У вас два варианта решения. Написать хранимку на сервере, которая по заданным параметрам будет правильно все разносить по таблицам, или на клиенте заниматься тем-же.
|
|
#18
|
|||
|
|||
|
Вот так вот делаю Апдейт, не получается объединить 3 запроса (выполняется только первый) и сам запрос апдейта тоже не делается.. в чем загвоздка?
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
// Закрыть запрос
//Form1.QueryDynamic.Close;
Form1.ADOQuery1.Close;
// Очистить массив строк для размещения
// текста запроса
//Form1.QueryDynamic.SQL.Clear;
Form1.ADOQuery1.SQL.Clear;
// Сформировать строку с текстом запроса
sql:= Format('insert into prodaga (Data_progaga) values (''%s'');',[DateTimeToStr(DateTimePicker2.DateTime)]);
sql2:= Format('insert into prodannie_products (id_product, kol_vo_prodannih_products, ckidka) values (%s,''%s'',''%s'');',[DBLookupComboBox3.KeyValue, DBEdit3.Text, Edit7.Text]);
//sql3:= Format('UPDATE prodannie_products SET kol_vo_prodannih_products = kol_vo_prodannih_products + 1 where id_product=DBLookupComboBox3.KeyValue');
// Вывести текст запроса на экран
application.MessageBox(PChar(sql), 'Текст запроса',MB_OK);
application.MessageBox(PChar(sql2), 'Текст запроса',MB_OK);
application.MessageBox(PChar(sql3), 'Текст запроса',MB_OK);
// Добавить стоку с текстом запроса
Form1.QueryDynamic.SQL.Add(sql);
Form1.ADOQuery1.SQL.Add(sql2);
Form1.ADOQueryUPDATE.SQL.Add(sql3);
try
// Выполнить запрос
Form1.QueryDynamic.ExecSQL;
Form1.ADOQuery1.ExecSQL;
Form1.ADOQueryUPDATE.ExecSQL;
// Обработать возможные ошибки
// при выполнении запроса
except
application.MessageBox( 'Не могу выполнить запрос', 'Ошибка',MB_OK);
end;
Form1.DBGrid3.Refresh;
end;
|
|
#19
|
|||
|
|||
|
Переделал немного базу тебе у меня ошибка :
"Project Project1.exe raised exception class EClassNotFound with message 'Class TdateTimeField'. Use Step or Run to continue" в какую сторону капать не знаю, про TdateTimeField в коде не слова... |