Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2013, 18:53   #1
Dieria
Пользователь
 
Регистрация: 26.01.2012
Сообщений: 14
По умолчанию Работа БД по остаткам

Доброго времени суток! У меня есть БД со следующей структурой:

Мне нужно добавить кол-во "минимума" для каждого из материалов. Сейчас в коде указан минимум это 0.
Вопрос состоит в том. Какое поле добавить в БД и как присвоить в место "0" значение этого поля?
Код для этого ниже:
Самая главная и объемная процедура, которая позволяет программе проверять, если ли
у нас по всей базе товары которые закончились, если есть, то мы проверяем есть ли они в списке
совсем списанных, и если нет, то показываем наше окно с тремя кнопками.
Это нужно делать именно через таймер, а не через обычне команды при запуске формы, так как
сразу мгновенно при запуске программы запросы к БД сделать не выйдет, необходимо чтобы установилось
подключение к БД, поэтому нужно определенная задержка для этого. Таймеры позволяют выполнять
указанный в них код через какое то время и если необходимо то циклически. Цикл нам тут не нужен,
поэтому здесь мы таймер отключаем разу при его запуске, а время задержки тут 1 с.}
procedure TMainForm.Timer1Timer(Sender: TObject);
var
price:integer;
i,k:integer;
count:integer;
f:textFile;
begin
if check_by_interval=false then timer1.Enabled:=false; ////отключаем повтор таймера
dstGoodsList.DataSet.Locate('id','0 ',[]); /////в базе данных устанавливааем указатель на товар c id 0 (неважно что он не существует)
i:=1;
while i<=dstGoodsList.DataSet.RecordCoun t do ///перебираем все записи в таблице goods
begin
if dstGoodsList.DataSet.FieldByName('c ount').AsString<>'' then
count:=dstGoodsList.DataSet.FieldBy Name('count').AsInteger else count:=0;
if count=0 then
begin ////если товара недостаточно, то заносим его id в массив недостачи товаров
SetLength(nedostacha,Length(nedosta cha)+1);
nedostacha[length(nedostacha)-1]:=dstGoodsList.DataSet.FieldByName( 'id').AsString;
end;
dstGoodsList.DataSet.Next; ////переходим к следующей записи таблицы
i:=i+1;
end;


Заранее большущее спасибо за помощь=)
Dieria вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00