| | | | |
Немного об использовании ADO в Delphi. ( часть 2 ) | Полный текст материала
Другие публикации автора: Эльчин Азиз Али оглы Азизов
Цитата или краткий комментарий: «... Как я уже, кажется, говорил ADO всегда работает по принципу клиент/сервер - даже если Вы открываете локальную таблицу на своем компьютере. Это хорошо конечно, но иногда может сбить с толку, если не разобраться что именно происходит «за кулисами»...
...» |
Важно:- Страница предназначена для обсуждения материала, его содержания, полезности, соответствия действительности и так далее. Смысл не в разборке, а в приближении к истине :о) и пользе для всех.
- Любые другие сообщения или вопросы, а так же личные эмоции в адрес авторов и полемика, не относящаяся к теме обсуждаемого материала, будут удаляться без предупреждения авторов, дабы не мешать жителям нормально общаться.
- При голосовании учитывайте уровень, на который расчитан материал. "Интересность и полезность" имеет смысл оценивать относительно того, кому именно предназначался материал.
- Размер одного сообщений не должен превышать 5К. Если Вам нужно сказать больше, сделайте это за два раза. Или, что в данной ситуации правильнее, напишите свою статью.
Всегда легче осудить сделанное, нежели сделать самому. Поэтому, пожалуйста, соблюдайте правила Королевства и уважайте друг друга.
Добавить свое мнение.
| | Содержит полезные и(или) интересные сведения | [1] | 27 | 96.4% | | | | Ничего особенно нового и интересного | [2] | 0 | 0% | | | | Написано неверно (обязательно укажите почему) | [3] | 1 | 3.6% | | Всего проголосовали: 28 | | | Все понятно, материал читается легко | [1] | 24 | 92.3% | | | | Есть неясности в изложении | [2] | 2 | 7.7% | | | | Непонятно написано, трудно читается | [3] | 0 | 0% | | Всего проголосовали: 26 |
[ADO]
Отслеживать это обсуждение
Всего сообщений: 2205-10-2010 00:24Полезная статья, спасибо автору |
|
10-12-2009 18:22Тщетно пытался понять как же все таки датасет связан с реальными данными, искал в свойствах варианты их взаимодействия, искал свойство где указывается идентифицирующее поле. Респект автору! Все разложил по полочкам, теперь все стало четко! Спасибо! |
|
25-03-2006 23:48Когда я перешел на ADO возникла проблема отфильтровать Таблицу по логическому полю
Вот что было раньше:
if (RadioGroup1.ItemIndex=0) then tBd.Filtered:=false;
if (RadioGroup1.ItemIndex=1) then tBd.Filter:='nal = true';
if (RadioGroup1.ItemIndex=2) then tBd.Filter:='zak = true';
if (RadioGroup1.ItemIndex=3) then tBd.Filter:='(zak = true) or (nal = true)';
но в ADOTable возникает ошибка так как если у таблици есть Master таблица то он не фильтрует
Подскажите как обойти этот запрет?
Delphi 7 > ADO > Access |
|
10-03-2006 07:36Сверхполезная статья.
С нетерпением ждем продолжения.
P.S.
Хотелось бы видеть в форуме заметки про неработоспособность с указанием типа сервера, настроек свойств (Update Criteria, и т.д.) и описания ошибок, т.к. хотелось бы писать проги со "своими" свойствами по умолчанию, чтоб забыть про специфики каждого сервера ( зачастую приложения работают сразу с несколькими разными серверами, напр у меня VFP + MySQL + Access - хочется повеситься)
|
|
26-11-2003 15:56У меня проблема другого рода. Вся прога состоит из 1 главной и 5 подчиненных таблиц (не считая сервисных). При объеме в 3000- и более записей в основной таблице все загибается и работает ну просто медленно! С этим как-нибудь можно бороться?
И фильтр в подчиненных таблицах запрещен, а для select-а надо переоткрывать набор - жутко долго. Плюс минимум 256 мозга требует.
Кто-нибудь сталкивался с чем подобным?
А сейчас до 10000 записей и более дело доходит. как все это будет работать дальше-ума не приложу!
Уже вот все подряд пробую.
Хоть назад на Paradox переходи. |
|
18-08-2003 08:12С нетерпением жду прАДОлжения... |
|
16-05-2003 17:39Спасибо за статью
Я нашел в ней именно то, что искал, но вот решение это почему-то не работает.
конфигурация такая:
Oracle 8.1, курсор clUseClient & ctDynamic
обновляемая таблица паредставлена обзором с триггером INSTEAD OF INSERT
в котором выполняется автоинкремент поля "ID"
В ADOQuery1.AfterOpen поставил:
ADOQuery1.Properties["Update Resync"].Value := adResyncAll;
после ADOQuery1.Post смотрю значение поля ID, но оно не загрузилось с сервера :`(
|
|
21-10-2002 12:54В "Немного об использовании ADO в Delphi. ( часть 2 )", две опечатки
1)пропущена буква "к"
"""- перейти первой части и прочитать ее и все документы, на которые там имеются ссылки, а потом """
2) В последнем обзаце в слове ПРОГРАМКЕ нет буквы Г
"""Обратите внимание как в моей ,,,прораммке,,,-примере отлавливается событие RecordChangeComplete - если на этом событии переменная Reason равна erUndoUpdate - это значит что нужно отменить изменения - что я и пытаюсь сделать - но сработает это только если Update Criteria равно adResyncConflicts. """
Все остальное врде есть :) |
|
21-10-2002 12:54В "Немного об использовании ADO в Delphi. ( часть 2 )", две опечатки
1)пропущена буква "к"
"""- перейти первой части и прочитать ее и все документы, на которые там имеются ссылки, а потом """
2) В последнем обзаце в слове ПРОГРАМКЕ нет буквы Г
"""Обратите внимание как в моей ,,,прораммке,,,-примере отлавливается событие RecordChangeComplete - если на этом событии переменная Reason равна erUndoUpdate - это значит что нужно отменить изменения - что я и пытаюсь сделать - но сработает это только если Update Criteria равно adResyncConflicts. """
Все остальное врде есть :) |
|
17-10-2002 10:02Уважаемый Автор,
огромное спасибо за статью.
К сожалению, у меня не все работает, как Вы пишете. На строчке
qryOutlets.Properties["Update Resync"].Value:= adResyncAll;
вываливается exception "Item cannot be found in the collection
corresponding to the requested name or ordinal".
MSSQL7, MDAC 2.7, курсор - clUseServer, ctKeyset.
Что здесь не так? Свойство не поддерживается курсором?
А у меня триггер меняет значения несколький полей при
каждом update. Что тогда делать для того, чтобы изменения
были видны на клиенте? Не перечитывать же весь датасет...
С уважением,
Игорь Бобак
P.S. Просьба не предлагать использовать клиентский курсор -
из-за некоторых важных причин это невозможно.
|
|
13-08-2002 09:06РулеZZZ. вот тока один вопрос как засунуть АДО в Dll кричит дельфя что CoInitialize нету и все такое (у меня Дельфи 5) вот я понимаю что енто КОМ обьекту но где блин его инициализировать и как...Вот так то вот.
С уважением Антон К. |
|
24-07-2002 10:26Спасибо большое за статью!
Читаю её 3 раз с периодичностью в полгода и каждый раз черпаю что-то полезное. М-да, процесс познания - штука многоступенчатая...Сообщение не подписано |
|
16-11-2001 21:12Есть проблемма с DAO
- Access 97 OSR2
Проект - Большой (Понадобилось перевести на Delphi)
1 - Не вижу MSAccess модулей хотя Public
2 - Как изменить текст Query в на стороне MSAccess ?
|
|
13-11-2001 14:07Я собираюсь распространять программу написанную на Delphi6 с ипользованием ADO. Мне нужно сделать инсталляцию, хотелось бы не очень громоздкую. Но зачем мне весь MDAC 2.5, когда мне нужно только часть его для баз Access 97 или Access 2000? Может кто нибудь посоветовать какие файлы нужно взять и как реестр заполнять? Или есть инструмент выделяющий из MDAC нужную часть?
Пожалуйста посоветуйте. |
|
30-10-2001 12:32Все нормально в ADO, но не знаю как дорлжна выглядеть строка конекта к базе Информикса. К Ораклу нормальну к другим СУБД нормально, а к Информиксу немогу. Но без ОDBC. Помогите. Большое спасибо |
|
28-06-2001 09:09А нельзя заставить ADO читать SCOPE_IDENTITY вместо @@IDENTITY |
|
30-05-2001 13:18сообщение от автора материала Павел, спасибо что заметили, это конечно же опечатка, должно быть
ADODataSet1.Properties["Update Resync"].Value:= adResyncAutoIncrement + adResyncInserts;
Я свяжусь с хозяйкой сайта - эту ошибку надо исправить, спасибо за вниметельное прочтение.
Миша - посоветовать что-либо очень сложно - Вы ведь ничего не сообщили о том, что именно за проблема у Вас возникла.
Если проблема еще не решена - лучше сформулируйте вопрос поконкретнее и отправьте его на 'Круглый Стол'
http://delphi.vitpc.com/table/index.htm
там вероятность получения ответа намного Выше, к тому же ответ буть автоматически доставлен Вам по электронной почте.
Всем спасибо за отзывы.
|
|
30-05-2001 13:17сообщение от автора материала Павел, спасибо что заметили, это конечно же опечатка, должно быть
ADODataSet1.Properties["Update Resync"].Value:= adResyncAutoIncrement + adResyncInserts;
Я свяжусь с хозяйкой сайта - эту ошибку надо исправить, спасибо за вниметельное прочтение.
Миша - посоветовать что-либо очень сложно - Вы ведь ничего не сообщили о том, что именно за проблема у Вас возникла.
Если проблема еще не решена - лучше сформулируйте вопрос поконкретнее и отправьте его на 'Круглый Стол'
http://delphi.vitpc.com/table/index.htm
там вероятность получения ответа намного Выше, к тому же ответ буть автоматически доставлен Вам по электронной почте.
Всем спасибо за отзывы.
|
|
30-05-2001 09:55ADODataSet1.Properties["Update Resync"].Value:= adResyncInserts + adResyncInserts;
Это как? Зачем два раза adResyncInserts?
|
|
29-05-2001 15:19Спасибо за статью.
У меня проблемы с открытием ADOQuery , связанного с Oracle8 , во время выполнения (в Design режиме проблем нет).
Прежде, при работе с MS SQL-server все было нормально.
Можете ли что-либо посоветовать?
Спасибо.
|
|
28-05-2001 11:08Единственно что я не понял:
'Что же делать, как говаривал Достоевский?'
Это прикол?
('Что делать?' Чернышевский написал :)
А в остальном - большое спасибо, ждем продолжения |
|
24-05-2001 19:22Весьма недурно! Полезно не только для начинающих.
Надеюсь, автор объяснит, как обещал еще в прошлом обсуждении,
почему в ADO не нужен TUpdateSql?
Полагаю, что не зря известный гуру Владимир Гайтанов (http://www.vglib.com) ввел в свою библиотеку ADOPlus подобный компонент.
А то ведь как решать проблему избирательной модификации таблиц при редактировании результата сложного запроса?
|
|
|
|