![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Flaer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 4.9.2008 Где: Рязань Репутация: нет Всего: нет |
Такая проблемка: Чет совсем не сооброжу как передвигаться по строкам таблицы.
По столбцам строки получается, а вот по строкам таблицы нет( Это сообщение отредактировал(а) Flaer - 4.9.2008, 13:43 |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 16 Всего: 54 |
-------------------- Кольцов Виктор Владимирович |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Flaer, DBGrid - это всего-лишь компонент отображения информации. Если тебе нужно получить саму инфу непосредственно, то "смотреть" нужно не на DBGrid, а туда, откуда DBGrid берет эту инфу. Т.е. на TTable или TQuery (что ты там используешь?)
Даже на dataset, как предложил Frees, "смотреть" можно, но не правильно, т.к. dataset тоже берет эту инфу откуда-то. Так не проще ли сразу "туда" и глянуть? -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Перемещаешься по таблице, которая у тебя отображается в гриде.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Flaer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 4.9.2008 Где: Рязань Репутация: нет Всего: нет |
хм...
спасибо за ответ ну незнаю насколько проще ) мне просто нужно удалить посторяющиеся строки.Думал здесь проще будет. Искал где же индекс на строку, а тут вот так )) |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Добавлено через 1 минуту и 48 секунд Кстати, если ты используешь TQuery, то добавив всего одно слово DISTINCT в запрос, ты не будешь получать повторы. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Flaer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 4.9.2008 Где: Рязань Репутация: нет Всего: нет |
ADOTable и DBGrid лежат у меня на разных формах.
Связал я их из через DataSourse. Я из таблицы выдергиваю некоторыестолбцы, в результате чего могу появляться дублирующие записи(строки ) . От этого мне нужно освободиться. Если подскажите путь проще буду очень признателен |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Вместо ADOTable используй ADOQuery. Там, в SQL напиши что-то похожее на:
Все остальное у ADOQuery установи такое же как и у ADOTable. Сам ADOTable можно удалить. Может быть придется немного подкорректировать запрос, т.к. не совсем понял из фразы "в результате чего могу появляться дублирующие записи" в результате чего это они так могут появится, если ты только отображаешь, а не записываешь данные? И "дублирующие" - это как? Один столбец похож на второй или одна строка (захватывающая оба столбца) похожа на другую строку? Во-втором случае зарос должен "прокатить". -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Flaer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 4.9.2008 Где: Рязань Репутация: нет Всего: нет |
Я не знаю заранее какие поля остануться от таблицы )
поле1 поле2 поле3 x x y x x z x y z Удаляю из таблицы БД поле3 , в результат чего полчаю в таблице, повторяющиеся запси. такова суть дела ) наверно выгядит дико ) но это реальная задача |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Ну вот мой вышеуказанный запрос и сделает что надо.
pole1 и pole2 укажи свои названия "столбцов". tablitsa - название твоей таблицы. Это напиши в ADOQuery.SQL (можно прямо в инспекторе). Вся остальная работа с ADOQuery такая же как и с ADOTable. В результате из приведенной тобой таблицы ты получишь только поле1 поле2 x y -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Flaer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 4.9.2008 Где: Рязань Репутация: нет Всего: нет |
Я удалил поле3
в результате чего получил: поле1 поле2 x x x x x y Дублирование нужно исключить и получить вот это: поле1 поле2 x x x y |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Ну так и будет. Это я постом выше ошибся... Прошу прощения.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Flaer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 4.9.2008 Где: Рязань Репутация: нет Всего: нет |
Сейчас проверю ))
|
|||
|
||||
| Flaer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 4.9.2008 Где: Рязань Репутация: нет Всего: нет |
сделал так
with ADOQuery do begin SQL.Clear; SQL.Add('SELECT DISTINCT '+ StrokaNameFields ); SQL.Add('FROM '+ ADOTable.TableName ); ExecSQL; end; StrokaNameFields - содержит имена полей ADOTable.TableName - получает имя таблицы и чет не работает ( |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |