|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.10.2007, 09:59 | #11 |
Пользователь
Регистрация: 18.08.2007
Сообщений: 16
|
Вообще-то от всей этой процедуры требуется лишь решить простую задачу: ЕСЛИ тема уже есть ТО вывести ошибку ИНАЧЕ создать тему...
Вот как-то оно так...
|
03.10.2007, 09:59 | #12 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
ИМХО автоинкремент краше будет
|
03.10.2007, 10:01 | #13 |
Пользователь
Регистрация: 18.08.2007
Сообщений: 16
|
To Pu4koff:
Как можно его сделать? (автоинкремент)
Вот как-то оно так...
|
03.10.2007, 10:05 | #14 | |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Ну, и напоследок...
Если берем максимальный номер через Last, то ... Код:
Цитата:
Последний раз редактировалось _SERGEYX_; 03.10.2007 в 10:08. |
|
03.10.2007, 10:09 | #15 |
Пользователь
Регистрация: 18.08.2007
Сообщений: 16
|
Таблица действительно будет связана с двумя другими именно по этому полю...
Вот как-то оно так...
|
03.10.2007, 10:11 | #16 |
Пользователь
Регистрация: 18.08.2007
Сообщений: 16
|
Вот что получилось... Но все-равно не работает
procedure TForm2.Button1Click(Sender: TObject); begin bad_point:=false; form1.database1.open; form1.Table1.open; form1.Table1.first; while not form1.table1.Eof do begin if form1.table1.FieldByName('Name_T'). AsString = edit1.Text then bad_point:=true else form1.Table1.Next; end; if bad_point=true then begin ShowMessage ('Тема с таким названием уже создана!'); form2.Edit1.Clear; form2.Edit1.SetFocus; end else begin form1.Table1.Last; max_ID:=form1.table1.fieldbyname('I D').asinteger; form1.Table1.Insert; form1.Table1.FieldByName('Name_t'). AsString:=edit1.Text; form1.Table1.FieldByName('ID').AsIn teger:=max_ID+1; form1.Table1.Post; form2.close; end; end;
Вот как-то оно так...
|
03.10.2007, 10:42 | #17 | |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Цитата:
while not table1.Eof do begin TABLE1.NEXT; end; NEXT обязателен, иначе цикл зависнет... А можно попробовать так... if form1.table1.locate('name_f',edit1. text,[loCaseInsensitive] = true then {тема существует} Последний раз редактировалось _SERGEYX_; 03.10.2007 в 10:47. |
|
03.10.2007, 10:47 | #18 | |
детский тренер
Форумчанин
Регистрация: 08.06.2007
Сообщений: 532
|
Цитата:
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
|
|
03.10.2007, 10:48 | #19 | |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Цитата:
|
|
03.10.2007, 11:29 | #20 |
Пользователь
Регистрация: 18.08.2007
Сообщений: 16
|
Большое спасибо. Проблема решена. Красивое решение неприглядной проблемы.
Вот как-то оно так...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
можно ли в одном классе реализовать несколько интерфейсов | Galinka08 | Общие вопросы по Java, Java SE, Kotlin | 2 | 08.03.2008 21:33 |
Присвоение значения одного поля другому | frai | БД в Delphi | 2 | 20.09.2007 15:03 |
Сообщение другому окну | Бонарт | Win Api | 13 | 15.08.2007 20:23 |
можно ли такое реализовать | Димарик | Общие вопросы Delphi | 6 | 22.07.2007 13:18 |
передать данные другому приложению | vasya_pupkin | Win Api | 1 | 16.02.2007 20:17 |