Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
Создаю в С++ Buildere базу кодом:
  String	  Provider = "Microsoft.Jet.OLEDB.4.0;";
  String cs = "Provider=" + Provider + "Data Source=" + filename;
  Adox_tlb::TCatalog * Cat = new Adox_tlb::TCatalog(0);
  Cat->AutoConnect = false;
  Cat->Create((WideString)cs);
  delete Cat;

База (файлик на диске) создается. Но она получается залочена чем-то до момента выхода из проги.
Как после создания её разлочить?
17 май 21, 17:12    [22323202]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

https://docs.microsoft.com/en-us/sql/ado/reference/adox-api/create-method-adox?view=sql-server-ver15
Внезапно: ActiveConnection->Close().

Posted via ActualForum NNTP Server 1.5

17 май 21, 17:34    [22323212]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
Dimitry Sibiryakov

https://docs.microsoft.com/en-us/sql/ado/reference/adox-api/create-method-adox?view=sql-server-ver15
Внезапно: ActiveConnection->Close().

Ну тут у меня возникает проблема с получением этого ActiveConnection.
get_ActiveConnection возвращает tagVARIANT, что-то сделать с tagVARIANT я пока не осилил.

Сообщение было отредактировано: 17 май 21, 17:36
17 май 21, 17:42    [22323217]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

didgik
Ну тут у меня возникает проблема с получением этого ActiveConnection.

По ссылке сходи. Там чёрным по белому написано, что получать его НЕ НУЖНО.

Posted via ActualForum NNTP Server 1.5

17 май 21, 17:48    [22323223]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
Dimitry Sibiryakov

didgik
Ну тут у меня возникает проблема с получением этого ActiveConnection.

По ссылке сходи. Там чёрным по белому написано, что получать его НЕ НУЖНО.

Сходил. Не нашел.
Да логику не понимаю, как вызвать ActiveConnection->Close(), если у меня нет ActiveConnection.
17 май 21, 17:57    [22323229]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Ещё раз сходи. И ещё раз. Пока не заметишь, что "the new Connection object is assigned to
the ActiveConnection property".

Posted via ActualForum NNTP Server 1.5

17 май 21, 18:03    [22323234]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
White Owl
Member

Откуда:
Сообщений: 12733
didgik
Dimitry Sibiryakov

пропущено...

По ссылке сходи. Там чёрным по белому написано, что получать его НЕ НУЖНО.

Сходил. Не нашел.
Да логику не понимаю, как вызвать ActiveConnection->Close(), если у меня нет ActiveConnection.
Почему это "нет"? Есть оно, как только ты создал что-то в базе - у тебя сразу есть и подключение (невозможно без него создать что-то в базе).

Не надо слишком верить в Cat->AutoConnect = false;
Оно вообще не должно компилироваться, кстати, потому что у AutoConnect это свойство Connection а не Catalog.
17 май 21, 18:08    [22323238]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
Dimitry Sibiryakov

Ещё раз сходи. И ещё раз. Пока не заметишь, что "the new Connection object is assigned to
the ActiveConnection property".

Это я видел и понял. Но я не понял property чего? У Catalog доступа к этой проперти нет.

White Owl
didgik
пропущено...

Сходил. Не нашел.
Да логику не понимаю, как вызвать ActiveConnection->Close(), если у меня нет ActiveConnection.
Почему это "нет"? Есть оно, как только ты создал что-то в базе - у тебя сразу есть и подключение (невозможно без него создать что-то в базе).

Не надо слишком верить в Cat->AutoConnect = false;
Оно вообще не должно компилироваться, кстати, потому что у AutoConnect это свойство Connection а не Catalog.


Я ничего не создавал в базе. Я создал саму базу.
Сначала не было ничего, после Cat->Create((WideString)cs); появился файлик БД и коннекшн где-то внутри. Доступ к коннекшену я могу получить только через get_ActiveConnection, который возвращает tagVARIANT, а что-то сделать с tagVARIANT я пока не осилил.

Сообщение было отредактировано: 17 май 21, 18:06
17 май 21, 18:10    [22323239]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

didgik
Но я не понял *property* чего?

Ещё ходи, пока не заметишь, что это ссылка, а по ней ключевые слова "Applies To
Catalog Object (ADOX)".

Posted via ActualForum NNTP Server 1.5

17 май 21, 18:14    [22323243]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
Dimitry Sibiryakov

didgik
Но я не понял *property* чего?

Ещё ходи, пока не заметишь, что это ссылка, а по ней ключевые слова "Applies To
Catalog Object (ADOX)".

И как мне это поможет, если в билдере у каталога такого свойства нет?

К сообщению приложен файл. Размер - 12Kb


Сообщение было отредактировано: 17 май 21, 18:16
17 май 21, 18:24    [22323249]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
didgik,
Сам создавал бд.... По учебнику? По демке? По статье? По памяти?
17 май 21, 18:38    [22323260]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

didgik
если в билдере у каталога такого свойства нет?

Ну значит не судьба. Займись чем-нибудь попроще.

Posted via ActualForum NNTP Server 1.5

17 май 21, 18:44    [22323263]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
PetroNotC Sharp
didgik,
Сам создавал бд.... По учебнику? По демке? По статье? По памяти?


Яж вроде чуть выше по-русски написал "Сначала не было ничего, после Cat->Create((WideString)cs); появился файлик БД"

Dimitry Sibiryakov

didgik
если в билдере у каталога такого свойства нет?

Ну значит не судьба. Займись чем-нибудь попроще.

А нормально подсказать тоже не судьба чтоль?

Сообщение было отредактировано: 17 май 21, 19:11
17 май 21, 19:17    [22323282]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
didgik,
Прогеры пишут код не по памяти. Так понятно?
17 май 21, 19:23    [22323286]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
PetroNotC Sharp
didgik,
Прогеры пишут код не по памяти. Так понятно?

Не очень. По нужде создавал. Понадобилось создать базу с нуля. Нашел в книжке и интернете примеры и на основе их делал.
17 май 21, 19:27    [22323287]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
didgik
PetroNotC Sharp
didgik,
Прогеры пишут код не по памяти. Так понятно?

Не очень. По нужде создавал. Понадобилось создать базу с нуля. Нашел в книжке и интернете примеры и на основе их делал.
если с инета давай ссылку.
Разберемся.
Если с бумажной книги давай фото)))
17 май 21, 19:29    [22323289]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
PetroNotC Sharp
didgik
пропущено...

Не очень. По нужде создавал. Понадобилось создать базу с нуля. Нашел в книжке и интернете примеры и на основе их делал.
если с инета давай ссылку.
Разберемся.
Если с бумажной книги давай фото)))

Ой, да не вопрос. Но это в Дельфи, там с OLE попроще.

К сообщению приложен файл. Размер - 124Kb
17 май 21, 19:35    [22323292]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
didgik,
Да. Проще. Там obj.release и освобождение ссылки автоматически.
Ищи сишный пример.
17 май 21, 19:42    [22323295]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
PetroNotC Sharp
didgik,
Да. Проще. Там obj.release и освобождение ссылки автоматически.
Ищи сишный пример.

Сишный так с ходу не могу найти. Давно было. Либо потерялся пост с форума, либо я переделывал с Дельфи. А вообще код в первом посте.
17 май 21, 19:49    [22323296]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
Нашел тока свой же пост как я это делал 601756
17 май 21, 20:07    [22323308]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
didgik,
Не работай со старьем. Если примеров не найти.
17 май 21, 20:14    [22323318]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
PetroNotC Sharp
didgik,
Не работай со старьем. Если примеров не найти.


А какие еще есть варианты?
17 май 21, 20:15    [22323319]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
didgik,
Прогер? Тогда куча вариантов.
Например голую чистую базу просто копировать как шаблон из папки поставки программы.
17 май 21, 20:41    [22323338]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
didgik
Member

Откуда:
Сообщений: 987
PetroNotC Sharp
didgik,
Прогер? Тогда куча вариантов.
Например голую чистую базу просто копировать как шаблон из папки поставки программы.

Вот как раз от этого я хочу уйти.
Общая цель - сделать пересоздание базы с нуля типа бекапа.
17 май 21, 20:47    [22323340]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
didgik
PetroNotC Sharp
didgik,
Прогер? Тогда куча вариантов.
Например голую чистую базу просто копировать как шаблон из папки поставки программы.

Вот как раз от этого я хочу уйти.
Общая цель - сделать пересоздание базы с нуля типа бекапа.
это РЕШЕНИЕ. Цель непонятнаа))))
17 май 21, 21:08    [22323351]     Ответить | Цитировать Сообщить модератору
 Re: Отпусти меня, ADOX  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

didgik
Сишный так с ходу не могу найти.

Что, Microsoft из твоего SDK уже выкосило все примеры? Ню-ню...

Posted via ActualForum NNTP Server 1.5

17 май 21, 22:00    [22323368]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / C++ Ответить