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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2009, 12:08   #71
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

огромное спасибо, дружище:-). Предмет добавляется, но почему то вместо правильного id=13 появляется число 443984900. Че Это такое?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 25.04.2009, 12:48   #72
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Цитата:
но почему то вместо правильного id=13 появляется число 443984900. Че Это такое?)
попробуй по другому назвать переменную, или с помощью Table делать запись
Код:
Table.Insert;
Table.Fields[1].asInteger:=nom+1;
Table.Fields[2].asString:=Edit.text;
Table.Post;

Последний раз редактировалось S@fer; 25.04.2009 в 14:21.
S@fer вне форума Ответить с цитированием
Старый 25.04.2009, 17:05   #73
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Уважаемый S@fer, я немного изменил Ваш код так:
Код:
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;
Почти нормально работает. Первое новое название предмета добавляется в конец колонок с номер ID равным 13. Так и должно быть. Но второй предмет добавляется ниже предыдущего, но с тем же тринадцатым номер, а должен быть уже ID равный 14. Что надо подправить в коде еще?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 26.04.2009 в 10:39. Причина: подправлен код
artemavd вне форума Ответить с цитированием
Старый 27.04.2009, 08:13   #74
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Уважаемый S@fer, я немного изменил Ваш код так:
Код:
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;
Почти нормально работает. Первое новое название предмета добавляется в конец колонок с номер ID равным 13. Так и должно быть. Но второй предмет добавляется ниже предыдущего, но с тем же тринадцатым номер, а должен быть уже ID равный 14. Что надо подправить в коде еще?
Где поиск максимального номера?
каждый раз nom у тебя равен 12, ик нему присваевается 1, итого получается 13
S@fer вне форума Ответить с цитированием
Старый 27.04.2009, 08:41   #75
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Как надо подправить мой код?). В событии ComboBox-a я делал процедуру получения максимального значения.
Код поиска максимального значения:
Код:
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);
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.04.2009, 08:59   #76
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Код поиска максимального значения:
Стоп, а групповые операции+MAX() уже не в моде?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.04.2009, 10:38   #77
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
var
 nomer_predm:integer;
begin
 Query_zapros.Active:=False;
 Query_zapros.SQL.Clear;
 Query_zapros.SQL.Add('SELECT max(ID_Predmet) as m FROM table_predmety2 WHERE Predmet="'+
                                                      Form1.ComboBox3.Text+'"');
 Query_zapros.Active:=True;
 nomer_predm:=Query_zapros.FieldByName('m').AsInteger;
 Form1.Label12.Caption:='Номер предмета = '+IntToStr(nomer_predm);
end;
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 27.04.2009, 17:54   #78
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

IT-man, добавив max у меня появляется ошибка, что поле ID_Predmet не найдено, а когда его нету, то все работает нормально. Неужели нельзя сделать то, что мне надо?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.04.2009, 18:13   #79
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А как сбросить счетчик ID? Чтобы нажав на кнопку, у меня ID снова с нуля начилнался.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 28.04.2009, 11:02   #80
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

artemavd, Ну так соедени свой код в посте #68 (Выбор максимального ID) и #73 (Добавление новой записи).
S@fer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
И снова про подсчет строк Bezdar Microsoft Office Excel 4 23.03.2009 16:49
И снова ссылки Yaga HTML и CSS 2 20.03.2009 12:14
Снова про адрес переменной Pedro Общие вопросы Delphi 2 17.12.2008 21:53
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
У меня вопрос про базы данных,а точнее про таблицы!!! Alexij Общие вопросы Delphi 1 13.04.2008 23:24