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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
8-24983
Clinch
2002-09-23 12:29
2003.01.09
Печать Canvas c Bitmap-ом


3-24815
victor_ch
2002-12-13 13:59
2003.01.09
Ошибка при использовании BDE с SYBASE


3-24769
Борис
2002-12-16 09:15
2003.01.09
Не работает запрос


4-25162
Kors
2002-11-20 12:41
2003.01.09
сообщения и ошибки


14-25060
XMblPb
2002-12-20 18:01
2003.01.09
Глюн в системе Windows 2000 Server