AdsTable AdsQuery Конфликт при совместной работе с БД.
От: GreenElf Беларусь  
Дата: 09.08.04 09:36
Оценка:
void __fastcall TForm1::Button1Click(TObject *Sender) 
{ 
    AdsQuery1->Active = false; 
    AdsTable1->Active = true; 
    DataSource1->DataSet = AdsTable1; 
} 
//--------------------------------------------------------------------------- 
void __fastcall TForm1::Button2Click(TObject *Sender) 
{ 

    AdsTable1->Active = false; 
    AdsQuery1->Active = true; 
    DataSource1->DataSet = AdsQuery1; 
}

Две кнопки на форме:
Button1Click — событие первой кнопки
Button2Click — событие второй кнопки
Если после нажатия на вторую кнопку нажать первую вылетает исключение:
"Invalid open mode"

Что нужно закрыть еще в AdsQuery чтобы избежать исключения ?
Спасибо.
... << RSDN@Home 1.1.3 beta 1 >>
Re: AdsTable AdsQuery Конфликт при совместной работе с БД.
От: GreenElf Беларусь  
Дата: 09.08.04 10:39
Оценка:
Наверное неинформативный вопрос.
Подробнее:
Есть БД. Сначала присоединяемся к БД при помощи AdsTable и выводим их для примера в Грид — все норм.
После по приведенному коду выше жмем вторую кнопку. Загружаем данные в AdsQuery смотрим на них через Грид — все норм.
При попытке нажать первую кнопку т.е. делаем неактивным AdsQuery и пытаемся присоединиться к базе через AdsTable — Invalid open mode.
Раньше не работал с Query что еще нужно сделать чтобы освободить БД от нее ?
Или я в другом не прав ?
Помогите.
Спасибо.
... << RSDN@Home 1.1.3 beta 1 >>
Re[2]: AdsTable AdsQuery Конфликт при совместной работе с Б
От: ironwit Украина  
Дата: 12.08.04 05:13
Оценка:
Здравствуйте, GreenElf, Вы писали:

GE>Наверное неинформативный вопрос.

GE>Подробнее:
GE>Есть БД. Сначала присоединяемся к БД при помощи AdsTable и выводим их для примера в Грид — все норм.
GE>После по приведенному коду выше жмем вторую кнопку. Загружаем данные в AdsQuery смотрим на них через Грид — все норм.
GE>При попытке нажать первую кнопку т.е. делаем неактивным AdsQuery и пытаемся присоединиться к базе через AdsTable — Invalid open mode.
GE>Раньше не работал с Query что еще нужно сделать чтобы освободить БД от нее ?
GE>Или я в другом не прав ?
GE>Помогите.
GE>Спасибо.
1. Параметры adsconnection можно?
2. Параметры adsquery можно и его sql запрос?
3.
        AdsQuery1->Active = false; 
        DataSource1->DataSet = AdsTable1; 
    AdsTable1->Active = true;


Если поменять местами, что будет?

Пока идеи все.
... << RSDN@Home 1.1.4 beta 2 >>
Я не умею быть злым, и не хочу быть добрым.
Re[3]: AdsTable AdsQuery Конфликт при совместной работе с Б
От: GreenElf Беларусь  
Дата: 18.08.04 14:18
Оценка:
I>1. Параметры adsconnection можно?
I>2. Параметры adsquery можно и его sql запрос?
I>3.
I>
I>        AdsQuery1->Active = false; 
I>        DataSource1->DataSet = AdsTable1; 
I>    AdsTable1->Active = true;    
I>


I>Если поменять местами, что будет?


I>Пока идеи все.

Вся проблема была в свойстве TableType оно у меня стояло ttAdsNTX, а нужно было ttAdsCDX.
Эта проблема несовместимости индексов. Но в моем случае я их не использую поэтому проблема разрешилась заменив свойство ttAdsNTX на ttAdsCDX.
Всем спасибо.
... << RSDN@Home 1.1.3 beta 1 >>
Re: AdsTable AdsQuery Конфликт при совместной работе с БД.
От: Вячеслав Ермолаев  
Дата: 31.08.04 13:16
Оценка:
Здравствуйте, GreenElf, Вы писали:

GE>
GE>void __fastcall TForm1::Button1Click(TObject *Sender) 
GE>{ 
GE>    AdsQuery1->Active = false; 
GE>    AdsTable1->Active = true; 
GE>    DataSource1->DataSet = AdsTable1; 
GE>} 
GE>//--------------------------------------------------------------------------- 
GE>void __fastcall TForm1::Button2Click(TObject *Sender) 
GE>{ 

GE>    AdsTable1->Active = false; 
GE>    AdsQuery1->Active = true; 
GE>    DataSource1->DataSet = AdsQuery1; 
GE>}
GE>

GE>Две кнопки на форме:
GE>Button1Click — событие первой кнопки
GE>Button2Click — событие второй кнопки
GE>Если после нажатия на вторую кнопку нажать первую вылетает исключение:
GE>"Invalid open mode"

Ответ здесь http://resolution.extendedsystems.com/ADS/Support/Technical+Tip+22.htm
С уважением, Вячеслав Ермолаев
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.