opftable->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ADOPath+"data.dat;Persist Security Info=False";
opftable->Active = true;
Странное поведение ADO
У меня какие то не понятные ошибки при работе с ADOTable и ADOQuery.
Действия следующие:
1. Кинул компонент ADOTable.
2. Создал коннект (в редакторе Builder)
3. Выбираю таблицу с которой буду работать.
4. Стираю строку коннекта!!! (Active = false)
5. пишу следующий код при событии OnShow()
Код:
и пытаюсь запустить. Но во время компиляции (не до ходя до метода ONSHOW) выдает следующую ошибку
Missing Connection or ConnectiongString
В чем проблема???
Просто до этого в данном проекте я работал со статическим путем. сейчас решил переписать чтобы база бралась там же где и сама программка.
Причем!!!!! Если создаю совершенно новый проект то там такая фишка проходит т.е.
я создаю коннект выбираю таблицу и удаляю строку коннекта. И ничего спокойно запускается!
Может чтото не то в самом проекте намудил?
Делаю следующий шаг:
Вставляю через редактор Builder конект строку:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.dat;Persist Security Info=False
запускаю и начинает ругатся следующим образом:
ADOQuery1: Cannot perform this operation on an open dataset
Уже и не знаю что делать :(
А во время всех этих манипуляций в каком состоянии находятся ADOTable и ADOQuery? Похоже что в Active=true. Прежде чем изменять параметры коннекта, отключайте эти компоненты. При запуске приложения их состояние так же должно быть Active=false
Цитата: Hrew
А во время всех этих манипуляций в каком состоянии находятся ADOTable и ADOQuery? Похоже что в Active=true. Прежде чем изменять параметры коннекта, отключайте эти компоненты. При запуске приложения их состояние так же должно быть Active=false
Когда меняешь свойство ConnectionString свойство автоматически переключается в режим false
дело было в другом. Оказывается ADOQuery вообще нельзя запустить с пустым полем коннекта. Даже если Active = false.
Всем спасибо! Ситуация решилась.