![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте. Пишу курсовую работу на Delphi и access. Преподавателей в нашей провинции нормальных нет. Языки программирования на самом примитивном уровне изучались. Над кодом можете посмеяться или поплакать((
БД-access Задача такая. Нужно реализовать цикл проверки значений поля БД. 1. В столбце Return_b таблицы Резерв находится дата. 2. При совпадении даты поля Return_b с текущей датой, стрОки из таблицы удаляются. 3. При удалении строки из таблицы мы ищем по полю ISBN книгу в таблице Books и прибавляем в столбец Kolvo одну единицу(+1). Пробовал реализовать, знаю что не правильно. Подскажите пожалуйста. Код:
procedure TForm1.Button1Click(Sender: TObject); var b:integer; c:string; begin while not Form1.DataSource1.DataSet.Eof do begin if Form1.DataSource1.DataSet.FieldByName('Return_b').Value=datetostr(now()) then begin Form1.ADOQuery1.Close; Form1.ADOQuery1.SQL.Clear; Form1.ADOQuery1.SQL.Add('UPDATE Books SET [Kolvo] = ":b" WHERE ISBN = ":c"'); //изменяем совпадающие поля по ISBN b:=Form1.DBGrid3.DataSource.DataSet.FieldByName('Kolvo').AsInteger; //присваиваем переменной значение уже имеющихся в наличии книг данного ISBN Form1.ADOQuery1.Parameters.ParamByName('b').Value:=b+1; //прибавляем Form1.ADOQuery2.Parameters.ParamByName('c').Value:=Form1.DBGrid1.DataSource.DataSet.FieldByName('ISBN').Value; // присваиваем "с" данные ISBN таблицы РЕЗЕРВА Form1.ADOQuery1.Open; //выполняем запрос изменения записи Form1.ADOQuery2.Delete; //удаляем книгу из таблицы резерва Form1.DataSource1.DataSet.Next; //смотрим след поле end; end; end; Последний раз редактировалось HTTH, 03.04.2010 в 12:48. |
#2
|
|||
|
|||
![]() Цитата:
В какой строке ошибка вылазит? Если переводить ошибку, то звучит это так - "Поле kolvo не найдено" Все операции которые ты хочешь делать в дельфях, можно выполнить и 2-мя запросами, а именно: Код:
update books set Kolvo=Kolvo+1 where ISBN in (select isbn from [таблица в которой удаляем строки] where return_b = date()) delete from [таблица в которой удаляем строки] where return_b = date() |
#3
|
|||
|
|||
![]() Аааагромное спасибо!!!! Нужно побольше изучать мне теории.
Последний раз редактировалось HTTH, 04.04.2010 в 14:08. |