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

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

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

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

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

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

S@fer, у меня не получается компилировать Ваш пример .
Выдается ошибка:
[Fatal Error] Project1.dpr(5): Unit StdActns was compiled with a different version of StrUtils.TStringSearchOptions
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 24.04.2009, 12:13   #52
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

У меня нормально компилится
Поищи в гугле про ошибку
на всякий случай еще раз залью
Вложения
Тип файла: zip primer.zip (20.3 Кб, 5 просмотров)
S@fer вне форума Ответить с цитированием
Старый 24.04.2009, 12:59   #53
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Спасибо, дружище. Пример работает. Щас попробую сделать окошко добавления нового предмета в том случае, если его нет в списке. Так будет правильнее, да?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 24.04.2009, 13:03   #54
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Цитата:
Так будет правильнее, да?
Да лучше добавлять в новом окне, чтобы не было проблем с отображением в комбобоксе.
S@fer вне форума Ответить с цитированием
Старый 24.04.2009, 13:46   #55
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Вот, пробую такой запрос сделать:
Код:
var
 nom: integer;
begin
 Query_add_predm.Active:=False;
 Query_add_predm.SQL.Clear;
 Query_add_predm.SQL.Add('SELECT COUNT(ID_Predmet) FROM table_predmety');
 Query_add_predm.Open;
 if not Form3.Query_add_predm.Eof then
   nom:=Form3.Query_add_predm.FieldByName('ID_Predmet').AsInteger + 1;
   Form3.Query_add_predm.Close;
end;
Но выдается ошибка, что не найдено поле ID_Predmet не найдено
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 24.04.2009, 13:54   #56
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

1)В таблице у тебя как называется поле (ид предмета)?
2) Зачем в запросе ты считаешь сколько всего записей, а затем переменной nom присваешь значение последний записи с добавлением единицы?
S@fer вне форума Ответить с цитированием
Старый 24.04.2009, 14:01   #57
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

1. поле где идентификаторы предмета у меня назвается ID_Predmet.
2. затем, что у меня всего в БД последний ID=12. Вот я и хотел от него сделать прибавление на 1цу.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 24.04.2009, 14:04   #58
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Код:
var
 nom: integer;
begin
 Query_add_predm.Active:=False;
 Query_add_predm.SQL.Clear;
 Query_add_predm.SQL.Add('SELECT Max(ID_Predmet) AS [Max_ID] FROM table_predmety');
 Query_add_predm.Active:=True;
 
   nom:=Form3.Query_add_predm.FieldByName('Max_ID').AsInteger + 1;
   Form3.Query_add_predm.Close;
end;
S@fer вне форума Ответить с цитированием
Старый 24.04.2009, 14:26   #59
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Что значит Max_ID?
Я делаю так:
Код:
var
 nom: integer;
begin
 Query_add_predm.Active:=False;
 Query_add_predm.SQL.Clear;
 Query_add_predm.SQL.Add('SELECT MAX(ID_Predmet) AS MAX(ID_Predmet) FROM table_predmety');
 Query_add_predm.Active:=True;
   nom:=Form3.Query_add_predm.FieldByName('ID_Predmet').AsInteger + 1;
   Form3.Query_add_predm.Close;
end;
Выдается ошибка:
Invalid use of keyword.
Token: MAX(ID_Predmet).
Line Number: 1.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 24.04.2009, 14:29   #60
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Цитата:
Max(ID_Predmet) AS [Max_ID]
Max(ID_Predmet) - это вычисляемое поле, вычисляемому полю обязательно нужно присваивать имя,
вот MAX_ID и есть это имя.
Сделай как я написал без изменений и посмотри что у тебя будет в переменной nom
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