![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
||||
|
||||
|
Цитата:
Цитата:
|
|
#17
|
||||
|
||||
|
Я вот тут переделал код добавления нового предмета на такой:
Код: Код:
var
nov: integer;
begin
nov:=12; //т.к. последний ID=12
Form3.Table_add_predm.Last;
Form3.Table_add_predm.Insert;
Form3.Table_add_predm.FieldByName('ID_Predmet').AsInteger:=nov+1;
Form3.Table_add_predm.FieldByName('Predmet').AsString:=Form3.Edit1.Text;
Form3.Table_add_predm.Post;
end;P.S. Маленькая просьба: если действительно можете что-то подсказать по вопросу, то подскажите пожалйуста, без подковырок. |
|
#18
|
||||
|
||||
|
У этого метода есть один минус.
Какой индекс вы получите, если у вас сортировка по полю Predmet будет? |
|
#19
|
||||
|
||||
|
Страдалецъ, я про сортировку пока не думал. Мне это не понадобится пока. Спасибо за замечание). А как мой код подправить для правильной работы?
|
|
#20
|
||||
|
||||
|
Давно это было, когда я с парадоксом возился, но насколько я помню там есть некий таймаут в течении которого буфера обновляются и в вашем случае надо просто перечитать данные перед вставкой. Всего этого можно было-бы сразу избежать, если бы вы запрашивали из таблицы максимальный номер запросом или использовали автоинкриментное поле. В парадоксе это есть.
|
|
#21
|
||||
|
||||
|
Вот мой код получения ID:
Код:
var
nomer_predm:integer;
begin
Query_zapros.Active:=False;
Query_zapros.SQL.Clear;
Query_zapros.SQL.Add('SELECT ID_Predmet FROM table_predmety2 WHERE Predmet="'+
Form1.ComboBox3.Text+'"');
Query_zapros.Active:=True;
nomer_predm:=Query_zapros.FieldByName('ID_Predmet').AsInteger;
Form1.Label12.Caption:='Номер предмета = '+IntToStr(nomer_predm);![]() |