Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

как получить номер ......

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Anatoliy



Зарегистрирован: 15.04.2002
Сообщения: 681
Откуда: Moscow

СообщениеДобавлено: Пт Мар 29 2002 11:29    Заголовок сообщения: как получить номер ...... Ответить с цитатой

как получить номер последний записи?,
для того чтоб, к нему прибавить +1 и полученное число вставить в поле при соддании новой записи.
(хочу чтоб, в таблице dbf сроки имели порядковую нумерацию. КАК ето реализов... Плиз)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Daniel



Зарегистрирован: 29.03.2002
Сообщения: 3
Откуда: Екатеринбург

СообщениеДобавлено: Пт Мар 29 2002 12:03    Заголовок сообщения: Re: как получить номер ...... Ответить с цитатой

Я уже с таким сталкивался, тут такая вещь существует, а вдруг пользователь захочет удалить среднюю строку???? ее идентификатор уже теряется, а в других таблицах возможно он используется, поэтому надо сначала подумать над сохранением целостности бд.... а я делал так : Пробегался по таблице (заранее было известно что она будет небольшая), находил максимальный идентификатор, к нему прибавлял еденицу и создавал новую запись
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Anatoliy



Зарегистрирован: 15.04.2002
Сообщения: 681
Откуда: Moscow

СообщениеДобавлено: Пт Мар 29 2002 13:36    Заголовок сообщения: Re: как получить номер ...... Ответить с цитатой

если не трудно, кинь пожалуйста отрывок кода.
Моя таблица без связей и примерно строк будет до 1000(через год).
Честно, я пытался так сделать, но чет пока не выходит.
Еще раз спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Daniel



Зарегистрирован: 29.03.2002
Сообщения: 3
Откуда: Екатеринбург

СообщениеДобавлено: Пт Мар 29 2002 15:55    Заголовок сообщения: Re: как получить номер ...... Ответить с цитатой

Table.first;
idpostav:=0;
for i:=0 to table.RecordCount-1 do Begin
val:=Table.FieldByName'id_postav').asInteger;
if val>idpostav then idpostav:=val;
Table.Next;
End;
inc(idpostav);
Обычный алгоритм нахождения максимального числа в массиве.... но вообще то алгоритм наверное доработать можно было бы.... не хотелось думать
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Anatoliy



Зарегистрирован: 15.04.2002
Сообщения: 681
Откуда: Moscow

СообщениеДобавлено: Пт Мар 29 2002 22:01    Заголовок сообщения: Re: как получить номер ...... Ответить с цитатой

Честно говоря я не понял. это на дельфи я перевел как смог.

Table1->First();
idpostav = 0;
for (int i=0;Table1->RecordCount;-1)
{
val=Table->FieldByName'nume').asInteger;
if val>idpostav then idpostav=val;
Table1->Next;
}
inc(idpostav);
что такое:
- idpostav
- inc(idpostav);
- val
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Daniel



Зарегистрирован: 29.03.2002
Сообщения: 3
Откуда: Екатеринбург

СообщениеДобавлено: Сб Мар 30 2002 05:36    Заголовок сообщения: Re: как получить номер ...... Ответить с цитатой

Пиши на мыло hole666@mail.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mike



Зарегистрирован: 17.11.2001
Сообщения: 339
Откуда: ekb

СообщениеДобавлено: Вс Мар 31 2002 16:06    Заголовок сообщения: Re: как получить номер ...... Ответить с цитатой

Вобще-то такие вещи лучше писать на SQL, быстрее будет работать, текст запроса:
SELECT max(ИмяПоля) from ИмяТаблицы

потом просто берешь значение из единственного поля в компоненте TQuery или лучше TADOQuery
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Anatoliy



Зарегистрирован: 15.04.2002
Сообщения: 681
Откуда: Moscow

СообщениеДобавлено: Пн Апр 01 2002 11:36    Заголовок сообщения: Re: как получить номер ...... Ответить с цитатой

Так я работаю с отдельной таблицой?
через ADO компоненты, все равно можно пользоваться запросами языка SQL? (только через ADO Query)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Mike



Зарегистрирован: 17.11.2001
Сообщения: 339
Откуда: ekb

СообщениеДобавлено: Пн Апр 01 2002 12:06    Заголовок сообщения: Re: как получить номер ...... Ответить с цитатой

Через АДО все делается
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Anatoliy



Зарегистрирован: 15.04.2002
Сообщения: 681
Откуда: Moscow

СообщениеДобавлено: Пн Апр 01 2002 12:18    Заголовок сообщения: Re: как получить номер ...... Ответить с цитатой

попробую!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
ALL
Гость





СообщениеДобавлено: Ср Апр 03 2002 14:07    Заголовок сообщения: Re: как получить номер ...... Ответить с цитатой

создал отдельную таблицу (счетик) и отдуда беру.
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...