Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.16;
Скачать: CL | DM;

Вниз

Вставка в середину таблицы   Найти похожие ветки 

 
ИБМ   (2002-12-23 09:35) [0]

Уважаемые господа! Имеется такая вот проблема. Есть база данных на InterBase. В базе таблица. В ней первое поле ключевое, остальные - других форматов. Выбираются из таблицы запросом в IBQuery "select * from table1". При вставке информации клиента (через DBGrid) в середине таблице. При обновлении таблицы мы видим информацию в самой первой строчке. Возможно-ли организовать работу так, чтобы "клиент" в таблице находился в той строчке, в которой добавлялся в DBGrid (В Access так делается, а как это организовать в IB?)


 
Наталия ©   (2002-12-23 09:38) [1]

Сделай IBQuery.locate вновь вставленной записи по ключевому полю


 
Prooksius ©   (2002-12-23 09:49) [2]

Подозреваю, что в датасете(Query) не указан order by. Укажи это и после рефреша таблицы делай Наталия © (23.12.02 09:38)


 
ИБМ   (2002-12-23 10:15) [3]

На сколько мне известно locate - это поиск записей по содержимому их полей. Как в данном случае это может помочь?

Prooksius. В днном случае сортировка ненужна, а необходимо, чтобы при вставке (DBGrid) в середине таблицы при сл. выводе в DBGrid запись так и осталась там, куда её вводили, а не в начале/конце.


 
Наталия ©   (2002-12-23 10:22) [4]

Набор данных (IBQuery) у тебя упорядочен в некотором порядке, которым можно управлять конструкцией order by. То, о чём ты говоришь "там, куда её вводили" - не имеет смысла. Потому что "вводили её" в таблицу. Упорядочи набор нужным образом, а потом найди вставленную запись по запомненному ключу.


 
Prooksius ©   (2002-12-23 10:27) [5]

2 ИБМ (23.12.02 10:15)
Запомни. в базах данных нет строгого понятия начала, конца и середины таблицы. Все зависит от сортировки. Ты ведешь речь о Наборе Данных НД.

>В днном случае сортировка ненужна
НД без сортировки - изврат. Используй сортирорвку.

>необходимо, чтобы при вставке (DBGrid) в середине таблицы при >сл. выводе в DBGrid запись так и осталась там, куда её вводили, >а не в начале/конце
Не будет такого. IBDataSet, на сколько я знаю, так и устроен, чтобы вставлять записи не инсертом, а аппендом, из-за больших затрат по времени у инсерта (большой НД).


 
ИБМ   (2002-12-23 10:38) [6]

Большое спасибо! Вопрос исчерпан!


 
Johnmen ©   (2002-12-23 10:40) [7]

>Prooksius © (23.12.02 10:27)
>IBDataSet, на сколько я знаю, так и устроен, ...

Нет такого понятия, как аппенд. Есть только обычный INSERT. А куда физически ляжет запись - ведомо только серверу. :))) И для нас не имеет абсолютно никакого значения...



 
Prooksius ©   (2002-12-23 10:44) [8]

2 Johnmen © (23.12.02 10:40)
Я как раз веду речь про НД на клиенте.
На сервере - другое дело.


 
ЮЮ ©   (2002-12-23 10:48) [9]

>Я как раз веду речь про НД на клиенте.
А зачем его переоткрывать? А если порядок важен, надо обеспечить это на уровне данных



Страницы: 1 вся ветка

Текущий архив: 2003.01.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
3-48895
VDenis
2002-12-20 11:13
2003.01.16
Как сделать


6-49188
Yuraz
2002-11-11 14:25
2003.01.16
Как отослать скрипту в инете заполненные TXT поля


14-49215
Ru
2002-12-29 15:25
2003.01.16
Именинники 1-го января (а также 30, 31 декабря)


1-49098
Mr Gr
2003-01-05 02:13
2003.01.16
Про ячейки в ДравГриде !!!!!!!!!!!


14-49261
Nimda
2002-12-27 07:54
2003.01.16
Мастак-это круто.