Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему прыгают индексы? Строчки в таблице меняют положение 
V
    Опции темы
Lianamir
Дата 30.10.2007, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я создала базу аксес, в ней 10 таблиц.
cоздала компоненты  ADOTable-10шт и datasourse 10шт.
подключила к ним гриды и DBLookupKombobox(ы)
создала событие очисть всё, в событии прописала что бы мои таблицы вставали на первую строчку....
в 8ми таблицах первая строчка это ключь номер -1
а в двух первая строчка начинается с третьего ключа.
почему так?
почему строчки в таблице, меняются местами? 
PM MAIL ICQ   Вверх
pseud
Дата 31.10.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

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



Цитата(Lianamir @  30.10.2007,  23:39 Найти цитируемый пост)
а в двух первая строчка начинается с третьего ключа.почему так?почему строчки в таблице, меняются местами? 

потому что эти строки действительно всталены раньше чем строки с -1
совет 
вместо TADOTable
используй TADOQuery
в которых напиши запросы:
Код

SELECT
  *
FROM
  нужная_таблица
ORDER BY
  уникальная_колонка



--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
mrbrooks
Дата 31.10.2007, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



pseud дело говорит. Используй ADOQuery. SQL вещь гибкая. С его помощью будешь создавать все че тебе надо - хехе и не надо никаких 10 TTable - а то это смахивает на садомазахизм.
PM MAIL   Вверх
Lianamir
Дата 31.10.2007, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ой-ой!!!
10 Ttable-это мягко сказано, у меня их около ста  и около трёхсот форм завязано с ними...........
Но, если игра стоит свеч, я переделаю.........

Можно ещё  несколько уточнений?
Цитата

не надо никаких 10 TTable

Вы хотите сказать, что у меня вместо ста ttable, будет один ADOQuery???


Цитата

используй TADOQuery
в которых напиши запросы:
Меня  настараживает слово "в которых" значит их всетаки не один??

Добавлено через 2 минуты и 2 секунды
Надо срочно читать литературу по ADOQuery.............

Добавлено через 13 минут и 10 секунд
Я кажется начинаю понимать:
У меня в базе аксес около 20ти таблиц.
Когда в программе я хочу обратиться к одной из таблиц? я создаю DataSours и ADOTable.
В итоге у меня около ста обращений.
А вы предлагаете создать столько ADOQuery, сколько у меня таблиц, 20шт.
Я правильно понимаю?
PM MAIL ICQ   Вверх
Aprol
Дата 31.10.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Создай столько ADOQuery сколько тебе запросов нужно.
PM MAIL   Вверх
Lianamir
Дата 31.10.2007, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

Создай столько ADOQuery сколько тебе запросов нужно.

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

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


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

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



Цитата(Lianamir @  30.10.2007,  23:39 Найти цитируемый пост)
в 8ми таблицах первая строчка это ключь номер -1а в двух первая строчка начинается с третьего ключа.


мой совет подразумевал лишь быструю помощь в этом вопросе
т.е. я имел ввиду:
- вместо своих N штук ADOTable юзай N штук ADOQuery, в которых сделай ORDER BY чтоб верхние строчки в комбобоксах были везде -1

конечно можно углубиться в дебри "правильной" реализации
но зачем

Добавлено через 2 минуты и 28 секунд
Цитата(Lianamir @  30.10.2007,  23:39 Найти цитируемый пост)
а в двух первая строчка начинается с третьего ключа.почему так?


а может у тебя впринципе в этих двух таблицах нет ключа -1
и они на самом деле начинаются с 3
твой вопрос немножко некорректен, 
приходится каждому довыдумывать полную картину
может лучше сама опиши эту полную картину пополненее smile


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Lianamir
Дата 31.10.2007, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

а может у тебя впринципе в этих двух таблицах нет ключа -1
и они на самом деле начинаются с 3


Это самое первое что может придти на ум и я это проверила первым делом, таблицы составлены все одинаково.

Цитата

потому что эти строки действительно всталены раньше чем строки с -1


я что то создавала в эксесе а что то уже в программе, но строки с ключом 1 были созданы в аксесе первыми.

Но я все равно не понимаю................
Когда я открываю таблицы в среде Аксес, все строчки идут по порядку и начинаются с первого счетчика.
Значит  делфи  сортирует строки по своим каким то  законам.

Цитата

опиши эту полную картину пополненее


В первом столбике (несчитая ключа конечно) наименование товара, 
во втором -цена за товар,
пользователь, из впадающих списков выбирает товар и у него складывается цена....
Что бы очисть весь список необходимо все поставить на первую строчку где в первом поле-"НЕТ" а во втором цена -"0"
Чтоже мне делать? smile 
PM MAIL ICQ   Вверх
Lianamir
Дата 31.10.2007, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ни кто не хочет со мной разговарвать.........
вобщем сделала так:

на DataModule Creat повесила-
Код

ADOTable1.IndexFieldNames:='ключ';
ADOTable2.IndexFieldNames:='ключ';
ADOTable3.IndexFieldNames:='ключ';
ADOTable4.IndexFieldNames:='ключ';// и тд и тп..........................

Все проблемы разом ушли, но надолго ли?
Пока существует загадочная сортировка строк, человечество в опасности!
...Они ещё вернуться!........
PM MAIL ICQ   Вверх
Anakin
Дата 31.10.2007, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Лично я раньше тожа использовал АДОТабле по 10 штук на форму. а шас всё 10 штук заменил один АДОКюверти. )
То что ты сделал означет что ты отсортировала всё по полю Ключ
Вроде так.
PM MAIL   Вверх
mrbrooks
Дата 1.11.2007, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



Что то я не понимаю на кой черт нужно 10 ADOQuery. Не путайте вопрошающего. Учите SQL и не несите ахинею. 
to Lianamir почитай инфу в нете. Есть книга Фаронова, Архангельского в нете - то же самое про Bilder С++ - один фиг VCL один.
Как правило помимо компонентов там имеется и введение в SQL и как его едят в Borland. Почитай. Дня два уйдет. Зато это будет правильно. smile 
PM MAIL   Вверх
pseud
Дата 1.11.2007, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

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



Цитата(Lianamir @  31.10.2007,  20:38 Найти цитируемый пост)
Пока существует загадочная сортировка строк, человечество в опасности!

нет никакой загадочной сортировки дело могло быть так:

Код

1. добавили строку ключ -3
2. добавили строку ключ -2
3. добавили строку ключ -1
4. добавили строку ключ 0
5. добавили строку ключ 1
6. добавили строку ключ 2
7. удалили строку ключ -3 (физически в таблице на этом месте образовалась дырка)
8. удалили строку ключ -2 (физически в таблице на этом месте образовалась дырка)
9. добавили строку ключ 3 (она физически "запихалась" на место дырки от строки с ключом -3)


поэтому ты правильно сделала, что заюзала индекс
хотя я бы использовал Query c ODER BY
но каждому свое


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


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

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


 




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


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

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