Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
ИБМ   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
8-49172
relaxer
2002-09-30 14:13
2003.01.16
ХЕЛП.проблема с Transparent...


3-48940
Che
2002-12-20 02:07
2003.01.16
DBComboBox


1-48988
Tornado
2003-01-06 18:07
2003.01.16
Меню


7-49327
alexsandri
2002-11-05 12:36
2003.01.16
Мастера подскажите как в винде назначить свои


14-49279
Кокандокало
2002-12-26 22:55
2003.01.16
TWebBrowser for Delphi6





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский