![]() |
|
|
![]()
|
|
| counterfeit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 5.5.2006 Репутация: нет Всего: нет |
Здрасте всем!!
Вообщем проблема следующая.. Есть база Paradox в которой все таблицы запаролены (каждая отдельно, возможно одним и тем же ключем). Надо зделать прогу которая бы могла менять пасворд.. Сделал прогу которая может установить пароль на таблицу, но поменять она его не может.. Вот пример: На Билдере void __fastcall TfrmMain::SetPassword(AnsiString APass, AnsiString APath) { if (APath == "") return; hDBIDb hDb = 0; // Handle to the Database hDBICur hCur = 0; // Handle to the cursor (table) DBIResult rslt; // BDE error code CRTblDesc TblDesc; // Create Table Descriptor Check(DbiInit(NULL)); hDb = MainTable->Handle; MainTable->DatabaseName = "RC"; MainTable->TableName = APath; Check(DbiOpenDatabase( NULL, // Database name (NULL for standard Database) NULL, // Database type (NULL for standard Database) dbiREADWRITE, // Open mode (read-write or read-only) dbiOPENEXCL, // Excluzive mode (shared or exclusive) NULL, // Password (not needed for the STANDARD database) NULL, // Number of optional parameters NULL, // Field desc for optional parameters NULL, // Values for the optional parameters hDb)); // Handle to the database char* VPath = APath.c_str(); char* VPass = APass.c_str(); memset((void *) &TblDesc, 0, sizeof(CRTblDesc)); lstrcpy(TblDesc.szTblName, VPath); lstrcpy(TblDesc.szTblType, szPARADOX); lstrcpy(TblDesc.szPassword, VPass); TblDesc.bProtected = true; rslt = DbiDoRestructure(hDb, 1, &TblDesc, NULL, NULL, NULL, FALSE); if (rslt == DBIERR_NONE) ShowMessage("?????? ???????????"); else DbiError(rslt); if (hCur != 0) Check(DbiCloseCursor(hCur)); if (hDb != 0) Check(DbiCloseDatabase(hDb)); Check(DbiExit()); } На паскале procedure TfrmMain.SetPassword(const APass, APath: string); var db : TDatabase; Desc : CRTblDesc; begin if (APath = '') then exit; MainTable.TableName := APath; MainTable.DatabaseName := 'RC'; db := MainTable.OpenDatabase; FillChar(Desc, SizeOf(Desc), #0); StrCopy(Desc.szTblName, PChar(APath)); StrCopy(Desc.szTblType, szParadox); StrCopy(Desc.szPassword, PChar(APass)); Desc.bProtected := true; Check(DbiDoRestructure(db.Handle, 1, @Desc, nil, nil, nil, false)); showmessage('Пароль установлен!'); end; Может кто в курсе как это зделать... Мне хотябы путь решения... Всем заранее благодарен!!!!!! |
|||
|
||||
| Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
не вникал в суть, взял из ФАК:
а вообще, если есть возможность, сваливай с парадокса как можно быстрее, хлопот не оберешься, особенно с битыми индексами... По собственному опыту говорю... -------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
| counterfeit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 5.5.2006 Репутация: нет Всего: нет |
да это тоже самое...
а на счет парадокса - согласен.. вот только это не моя прога работает с парадоксом а банк-клиент с ней работает.. а мне надо из учетки (1с, сейчас JDEdwards) автоматически выгружать платежи... с 5-ю банк клиентами справился, а с этим не могу.. вернее могу - есть общие пароли которые любую запароленую парадоксовскую таблицу открывают.. но лично для меня это уже дело принципа - неужели никак нельзя ее открыть или поменять пароль? |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |