Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Table не добавляет запись в конец таблицы. 
:(
    Опции темы
Guzya
Дата 9.5.2007, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



Доброго времени всем. Проблема такая я добавляю в Table запись, нужно добавлять в конец, а она добавляется куда угодно только не в конец.
Код

    Table1->Active=true;
    Table1->FindLast();
    Table1->FieldByName("Grajdan");
    Table1->Insert();


В чем причина? И как сделать чтоб запись добавлялась в конец таблицы.
PM MAIL ICQ   Вверх
Guzya
Дата 9.5.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



Ну может тогда ктони-ть знает как ч\з Table найти запись с максимальным значением???
PM MAIL ICQ   Вверх
fish9370
Дата 9.5.2007, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 1
Всего: 1



Цитата(Guzya @ 9.5.2007,  12:29)
Ну может тогда ктони-ть знает как ч\з Table найти запись с максимальным значением???

DataSource1->DataSet->RecNo

если я правильно понял и речь идет о значении индекса..

Это сообщение отредактировал(а) fish9370 - 9.5.2007, 13:03


--------------------
undefined
PM MAIL WWW ICQ   Вверх
Voldemar2004
Дата 9.5.2007, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 1
Всего: 23



Я просто сортирую с помощью 
Код
Select NOMER from [ТАБЛИЦА] order by NOMER ASC/DESC
а потом идем в самую последнюю/верхнюю запись соответственно
Код
Table1->FindLast();
или
Код
Table1->FindFirst();


Это сообщение отредактировал(а) Voldemar2004 - 9.5.2007, 13:03


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Nat
Дата 10.5.2007, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 16.4.2007

Репутация: нет
Всего: нет



Записи располагаются по возрастанию счетчика.

Table1->Insert() - просто добавляет строку в конце таблицы. Чтобы ее заполнить по полям используют

Table1->FieldByName("Grajdan")->AsString = "String";  - это для строкового типа поля.

Если записи по счетчику идут вразнобой, то создают поле, по которому потом делают запрос с сортировкой.
PM MAIL   Вверх
Guzya
Дата 10.5.2007, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



Поле не индексированно, суть в том что у меня две таблицы в которых одинаковые поля, мне надо определить максимальное значение и сгенирировать следующее, которое записывается в конец одной из этих двух таблиц. Вот я и хочу просто считывать последние записи из этих таблиц и сравнивать их.
PM MAIL ICQ   Вверх
Anikmar
Дата 10.5.2007, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



Получить максимальное значенbе какого-либо поля проще при помощи SQL конструкции SELECT MAX(Field)...

Цитата(Guzya @  10.5.2007,  10:09 Найти цитируемый пост)
Поле не индексированно

ИМХО
Это как раз и ведет к проблемам. Проиндексируйте и запись с максимальным значением поля всегда будет последней (первой) в выборке.
И получить это значение можно будет гораздо быстрее (c помощью той же конструкции SELECT MAX(...)...)
PM MAIL ICQ   Вверх
Guzya
Дата 10.5.2007, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



на счет select я знаю пробывал, но как после выборки присвоить значение поля переменной?
PM MAIL ICQ   Вверх
Anikmar
Дата 10.5.2007, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



Цитата(Guzya @  10.5.2007,  11:41 Найти цитируемый пост)
на счет select я знаю пробывал, но как после выборки присвоить значение поля переменной? 

Запрос:
SELECT MAX(Field) AS MaxNum FROM Table

Потом - в дизайн тайме правой кнопкой "Добавить поля" - Появится поле MaxNum
С ним работать обычным способом Query->FieldByName["MaxNum"]->AsInteger... Или прямым обращение к указателю на поле (как с обычным полем таблицы). Естественно только для чтения.

Если не указать AS MaxNum - то имя поля будет автоматически сгенерировано, надо посмотреть его в дизайне (скорее всего будет Max)

PM MAIL ICQ   Вверх
Guzya
Дата 10.5.2007, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



Пасиб буду пробывать.
PM MAIL ICQ   Вверх
Guzya
Дата 11.5.2007, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



Проиндексировал, все получилось. Спасибо всем кто отвечал.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1410 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.