[Форум] [Помощь] [Поиск] [Выйти] |
Добро пожаловать, User |
|
|
| ||
Подскажите как для ADO***.ConnectionString вызвать диалог построения оной (ну как в PropertyEditor) с выбором провайдера, БД, и всего остального? |
| ||
Все очень просто void CCommonDlg::OnBnClickedButtoncs() { // TODO: Add your control notification handler code here _bstr_t strTemp; CoInitialize(NULL); MSDASC::IDataSourceLocatorPtr dl=NULL; ADODB::_ConnectionPtr pConn=NULL; dl.CreateInstance(__uuidof(MSDASC::DataLinks)); pConn=dl->PromptNew(); if(NULL==pConn) return; strTemp = pConn->GetConnectionString(); CoUninitialize(); csConnectionString = (char*) strTemp; UpdateData(FALSE); } |
| ||
Кстати забыл, еще где нибудь выше надо написать: #pragma warning ( disable : 4192 ) #import msado15.dll no_namespace rename( EOF, ADOEOF ) #import msado21.tlb rename(EOF,ADOEOF) rename(BOF,ADOBOF) #import Oledb32.dll #pragma warning ( default : 4192 ) |
| ||
Borland известна недокументированностью своих шедевров. А все оказывается просто: uses ...,ADODB function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString; - сразу строка или uses ...,AdoConEd; EditConnectionString(Component):{успех}boolean; - правит сразу компоненту свойство ConnectionString --- Бороться и искать, найти и ... перепрятать! |