powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / ADO + C++Builder 5
25 сообщений из 25, страница 1 из 1
ADO + C++Builder 5
    #32422188
SOMNAMBULA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не получается работа с БД Access из C++ Builder через компоненты на вкладке ADO. Делаю ADO соединение через MS Jet 4.0 OLE DB Provider, в общем, ничего особенного, строка соедения следующая:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\victorvk\Мои документы\test.mdb;Persist Security Info=False

Таблица открываются, но при закрытии вылетает ошибка: Either BOF or EOF is true, or current record hase been deleted. Requested operation requires a current record. Причём только в Design Time...

Во время выполнения программы другие траблы. Например, при удалении строки из табицы вылетает эксепшен EOleException: Row can not be located for updating. Some values may have been changed since it was last read.

Сначала подумал, что как-то надо по другому обрабатывть поля таблиц типа "счётчик", но попробовал на таблицах без них и пришёл к выводу, что не зависит, всё равно траблы есть.

Подскажите, в чём тут проблема и как можно решить?
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #32422199
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что юзаешь ???
вообщем поставь ADOQuery->CursorLocation->clUseServer
____
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #32422203
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а насчет первой ошибки у тя скорее всего не стоит патч для адо .
____
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #32422283
SOMNAMBULA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На счёт изменения свойства CursorLocation - не помогает, ошибка вылетает в момент изменения свойства и обратно останавливается в clUseClient
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #32422301
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странно , но тут скорее всего что я работая через OLE DB provider for ODBC drivers


____
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #32422303
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и еще , а что за ошибка то выскакивает ?
____
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #32422565
SOMNAMBULA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка - та, которая описана в начале обсуждения (...BOF...EOF..., короче №1)
Пробовал тоже самое для делфей (v5), там вот только такая ошибка, исключение EOleException не вылетает...
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #32422581
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Качай патч для ADO (ссылку можещь найти сдесь поиск->патч)
или юзай Builder 6 or Delphi 6 ,7
____
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #32422778
SOMNAMBULA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, в новых версиях билдера эта проблемма с ADO решена сама собой? Я давно уже думал об использовании билдера по новее, токо вот колется немного - компонентов для билдера версии 5 много надыбал - привык уже их юзать, боюсь что их на новые версии перетащить не удастся (как кстати с этим?). На работе JAVA, а С++ так уже, для души, халтурки иногда бывают...
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #32422884
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для BCB5 к ADO первым делом надо ставить Service Pack
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ADO + C++Builder 5
    #33188864
Фотография CrazyMihey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, а что делать, если Service Pack 1 для Builder 5 поставил, а ADOшный (" BCB5ADOUpgrade1.Exe "), скачаный с Borlandовского Сайта упорно не ставится? Он пишет, что не установлен Service Pack 1, а Builder в окне About пишет следующее: " Borland C++ Builder 5.0 (Build 12.34), Update Pack 1 "?
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33189210
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CrazyMihey

Попробовать переустановить SP... n раз

PS> привыкайте, дебилдер - загадочная вещъ
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33189358
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOMNAMBULAНе получается работа с БД Access из C++ Builder через компоненты на вкладке ADO. Делаю ADO соединение через MS Jet 4.0 OLE DB Provider, в общем, ничего особенного, строка соедения следующая:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\victorvk\Мои документы\test.mdb;Persist Security Info=False

Таблица открываются, но при закрытии вылетает ошибка: Either BOF or EOF is true, or current record hase been deleted. Requested operation requires a current record. Причём только в Design Time...

Во время выполнения программы другие траблы. Например, при удалении строки из табицы вылетает эксепшен EOleException: Row can not be located for updating. Some values may have been changed since it was last read.

Сначала подумал, что как-то надо по другому обрабатывть поля таблиц типа "счётчик", но попробовал на таблицах без них и пришёл к выводу, что не зависит, всё равно траблы есть.

Подскажите, в чём тут проблема и как можно решить?
Проблема здесь, как говорилось в одной рекламе "в прокладке... между рулем и сидением"...

Ошибка под № 1 вылетает, например, тогда, когда используется TADOQuery, а возвращаемый Recordset пуст... Кстати, да! Такая ошибка вылазит не в момент получения ответа от источника данных/открытия таблицы, а в момент попытки произвести какую-либо операцию над таблицей, например, закрыть...
Кстати, Вы не замечали, что повторный (после срабатывания Exception'a) вызов функции Close() все-таки закрывает ADOQuery?
В своих программах из этого положения я вышел так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
...
   try
    {
     ADOQuery2->Close();
     ADOQuery2->SQL->Clear();
    }
   catch(Exception &exception)
     {
       //Нет "источника" - нет и проблемы!
       delete ADOQuery2;

       //Сообщим о проблеме пользователю
       ShowMessage("After analize: "+exception.Message);

       //ADOQuery2 мне все-таки нужна, поэтому создадим "клона" 
       ADOQuery2=new TADOQuery(NULL);
       ADOQuery2->Connection=ADOConnection1;
       ADOQuery2->Close();
       ADOQuery2->SQL->Clear();
      } 
...

и, конечно же, ВСЕ операции с SQL-командами "обернул" в try-catch блоки...

Ошибка № 2 говорит Вам о том, что строка, которую Вы хотите удалить - могла быть изменена с момента последнего ее прочтения. Обычная "защита от дурака" при многопользовательском /сетевом/ доступе к данным...
Кстати, как Вы удаляете строку: через delete from <имя таблицы> where <условие для отбора именно этой записи> или как-то по-другому? В данном случае надо пользоваться именно SQL-ской командой... Да и вообще, при использовании ADO ВСЕ операции над исходными данными лучше выполнять через SQL-команды...
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33189407
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если мне не изменяет память, то ошибки типа ?1 исчезают после установки ADOPatch

--
Слово - серебро, а Молчание - золото !
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33189558
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас Member
Если мне не изменяет память, то ошибки типа ?1 исчезают после установки ADOPatch

Это для новичков! Для тех кто в себе уверен предложен способ от Станислав C. . Ну и что что на query2 могут ссылаться другие объекты, мы его удалим, а потом создадим заново!
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33190194
Фотография CrazyMihey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 funikovyuri :
Пробовал - не прокатывает.
На данный момент, я уже переустановил Винду ( XP SP2 ) (на другой логический диск), поставил по-новому Builder 5 , на него Service Pack 1 , на всё это встал таки официальный ADO Patch . После этого скопировал в директорию Builderа всё это дело, а затем всё то, что в ней раньше было без перезаписи Файлов - там огромная куча компонент различных. Проект, как ни странно, откомпилился, но глюки, заставившие меня всё это делать, остались. У меня, на самом деле, ошибки не BOF / EOF , а остановка, как на несуществующем BreakPointе , а также ошибка "не хватает памяти" после закрытия и повторного открытия ADOConnection . Сейчас пробую переделать так, чтобы все ADO -компоненты каждый раз (при каждом новом открытии ADOQuery ей) создавались заново с установкой всех переметров (не так уж их много) - знаю, что не оптимальное решение, но других идей пока нет...
Нормальной реализацией Компонент ADO я раньше пользовался из Delphi 7, может удастся их юзать в Builderе 5 , подключив через DLL ... (хотя, тоже изврат)
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33190418
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у билдера 5 нормальная реализация АДО, просто некорректно работаете где-то
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33190567
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CrazyMihey2 funikovyuri :
Пробовал - не прокатывает.
На данный момент, я уже переустановил Винду ( XP SP2 ) (на другой логический диск), поставил по-новому Builder 5 , на него Service Pack 1 , на всё это встал таки официальный ADO Patch . После этого скопировал в директорию Builderа всё это дело, а затем всё то, что в ней раньше было без перезаписи Файлов - там огромная куча компонент различных. Проект, как ни странно, откомпилился, но глюки, заставившие меня всё это делать, остались. У меня, на самом деле, ошибки не BOF / EOF , а остановка, как на несуществующем BreakPointе , а также ошибка "не хватает памяти" после закрытия и повторного открытия ADOConnection . Сейчас пробую переделать так, чтобы все ADO -компоненты каждый раз (при каждом новом открытии ADOQuery ей) создавались заново с установкой всех переметров (не так уж их много) - знаю, что не оптимальное решение, но других идей пока нет...
Нормальной реализацией Компонент ADO я раньше пользовался из Delphi 7, может удастся их юзать в Builderе 5 , подключив через DLL ... (хотя, тоже изврат)
Вы немного неправильно меня поняли...
Зачем пересоздавать ВСЕ ADO-компоненты?! Я пересоздаю только проблемный (где вылезает ошибка)!!! Как правило, это Query или DataSet... Если надо, то затем обновляю ссылку на вновь созданный компонент в связанных компонентах...
И еще я не совсем понимаю зачем закрывать Connection... У меня все Connection'ы открыты от начала работы программы до конца работы...
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33190696
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну незнама ,
я вот юзаю Builder B + Sp4
вааше красота . :)


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33190698
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
B = 6



 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33190990
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C.

Я то все понял... только зачем мне инкриминировать того чего я не говорил?
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33191086
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuri Станислав C.

Я то все понял... только зачем мне инкриминировать того чего я не говорил?
Что-то не вижу ни одного моего сообщения, где бы я Вас цитировал... Все время цитировал других людей... И если они приписали Вам какие-то другие слова, то я тут не виноват ...
Но, все-таки, приношу свои извинения за все мои высказывания, которые могли показаться Вам некорректными...

========\
! COOL ! -----
! BEAR ! ! -> to YOU
!--/O\-----/O\--
##################
...
Рейтинг: 0 / 0
ADO + C++Builder 5
    #33191171
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C.

Это я приношу извинения... не туда посмотрел.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ADO + C++Builder 5
    #34681692
Elizabeth Talor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a274Ww A number of universities have awarded her honorary degrees, and she earned a prestigious job on the staff of Detroit congressman John Conyers. In 1988 Roxanne Brown noted: "Thirty-two years after she attracted international attention for sparking the Montgomery Bus Boycott, Mrs. Parks's ardent devotion to human rights still burns brightly, like a well-tended torch that ignites her spirit and calls her to service whenever she is needed."
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ADO + C++Builder 5
    #38113574
24list
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дайте рабочую ссылку патча builder 5
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / ADO + C++Builder 5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]