Главная страница
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.02 c
1-49028
KPV-10k
2003-01-07 22:00
2003.01.16
Cнимок изображения окна находящегося в FullScreen режиме?


4-49364
reef
2002-12-01 03:19
2003.01.16
дополнительное Свойство


4-49351
Сергей Макаров
2002-11-28 20:05
2003.01.16
Сис. ресурсы


3-48886
KidMan
2002-12-19 22:21
2003.01.16
Работа с DBF и с повторяющимися данными


1-48975
ShaH
2003-01-06 15:12
2003.01.16
Как в проект Delphi подключить модуль написанный на C++ Builder e