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

Вниз

ADO Слетает позиционирование при добавлении и при работе с 2 табл   Найти похожие ветки 

 
Начинающий в АДО   (2002-12-15 13:27) [0]

Всем добрый день.
Недавно начал работать с АДО, проэтому прошу не бить если
вопросы детские. В поиски и в хелпе искал - не нашел.

итак, вопрос номер раз.

После
<ADOTable>.Insert
<задание значений полей>
<ADOTable>.Post

курсор становится на 1-ую. запись. Как его оставить на новодолбавленной, чтобы например считать значаение PrimaryKey
у новодобавленной записи?

вопрос номер второй :-)

Есть цикл "пока не EOF" по первой таблице
внйтри этого цикла я применяю фильтрацию к совершенно
другой таблице, никак не связанной с первой.

на форме есть элементы TDBEdit , которые через
обычынй TDataSource сморят на первую таблицу.

так вот, если при работе цикла у этого
DataSource.Enabled = True, то смена фильтра
второй таблицы приводит у уставке курсора первой
таблицы на первую запись!! %/. и естественно все
зацикливается.
если же перед циклом сделать DataSource.Enabled = False
то все нормально работает.

таблицы смотрят на одно ADOConnection.

это глюк или я чего то не знаю?

З.Ы.
из патчей установил общеизвестный ADO_PATCH.EXE,
тот который на королевстве и вообще везде :) валяется.

все сказанное проявляется по версиями виндов 98, 2000 и ХП.

очень надеюсь на помощь.
спасибо заранее!


 
Начинающий в АДО   (2002-12-15 23:30) [1]

хм, не понятно - либо я задал слишком глупый вопрос,
либо никто с этим не сталкивался? однако не верится,
что при работе с АДО никто не наткнулся на подобные
проблемы позиционирования...

надеюсь на конструктивные ответы ...


 
sniknik   (2002-12-15 23:44) [2]

Вопрос действительно немного... филосовский. На тему есть ли у таблиц в базе порядковый номер.

лутше всего PrimaryKey делать по автоинкременту (тоже вопрос лутше ли? многим не нравится), тогда результ (по смыслу вопроса) достигается в 2 запроса.
1
INSERT INTO (поля исключая автоинкрементное) VALUES (значения для них)
2
SELECT @@IDENTITY

(для MSSQL можно в одном пакете оба запроса)

чтобы правильно задать вопрос нужно знать половину ответа (как минимум)
http://delphi.mastak.ru/vopros/index.html


 
ПИТОН   (2002-12-16 06:50) [3]

Порсле поста делай Loacte по ключевому полю


 
sniknik   (2002-12-16 10:45) [4]

to ПИТОН (16.12.02 06:50)
ценное замечание :о), только как согласуется с
>>>
Начинающий в АДО (15.12.02 13:27)
>чтобы например считать значаение PrimaryKey у новодобавленной записи?

он же не знает значения по которому локейт делать.


 
Начинающий в АДО   (2002-12-17 03:46) [5]

оказалось что прекрасно работает все только под
Аксесс 2000, о чем есть статья на Королевстве
(нашел таки ...)

2
sniknik © (15.12.02 23:44)

1. при чем тут MS-SQL?
2. не понял, че тут философского - глюка чистой воды.
да и не порядковый номер мне нужен, а поле новодобавленной
записи. имхо, Вы не совсем внимательно прочли что я написал :-)

но все равно спасибо. всем.



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

Форум: "Базы";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
14-25019
Delirium
2002-12-19 16:32
2003.01.09
Download DevExpress QuantumGrid 4.0 For Delphi 7


6-24995
Kon2002
2002-11-07 19:13
2003.01.09
WinXP


14-25094
Странный Прохожий
2002-12-19 11:09
2003.01.09
Как удалить регистрацию участника форума, чтобы освободить ник?


1-24964
mer
2002-12-27 07:17
2003.01.09
разность дат


3-24778
atmamont
2002-12-16 11:58
2003.01.09
freereport экспорт в xls





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский