C++ Builder修改Access数据库密码
void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString f1= AccoutMe.mdb ; // 源库1 AnsiString psw1= 123456; // 密码 1,若设置错误也会报“意外错误” AnsiString f2= AccoutMe_new.mdb ; // 源库2 AnsiString psw2= abc; // 新 密码 2 bo
void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString f1= "AccoutMe.mdb "; // 源库1 AnsiString psw1= "123456"; // <strong>密码</strong>1,若设置错误也会报“意外错误” AnsiString f2= "AccoutMe_new.mdb "; // 源库2 AnsiString psw2= "abc"; // 新<strong>密码</strong>2 bool flg_Success = false; AnsiString dir = ExtractFilePath(Application-> ExeName); f1=dir+f1; //新<strong>数据库</strong>绝对路径 f2=dir+f2; if (FileExists( f2 ) ) //若目标文件已存在,先删除 DeleteFileA(f2); char Provider1[512] = { 0 }, Provider2[512] = { 0 }; sprintf(Provider1, "Provider=Microsoft.Jet.OLEDB.4.0;" "Data Source='%s';" "Jet OLEDB:Database Password='%s'" , f1, psw1 ); // sprintf(Provider2, // "Provider=Microsoft.Jet.4.0.OLE DB.Provider;" // "Data Source='%s';" // "Jet OLEDB:Database Password='%s'" // , f2, psw2 // ); // 注意提供正确的Provider写法,否则提示“意外错误” sprintf(Provider2, "Provider=Microsoft.Jet.OLEDB.4.0;" "Data Source='%s';" "Jet OLEDB:Database Password='%s'" , f2, psw2 ); Variant Adoobj = Variant::CreateObject( "JRO.JetEngine"); try { Adoobj.OleProcedure( "CompactDatabase", WideString(Provider1), WideString(Provider2) ); if (FileExists(f1)) DeleteFileA(f1); RenameFile(f2, f1); flg_Success = true; } __finally { Adoobj.Clear(); Adoobj = Unassigned; } ShowMessage( BoolToStr(flg_Success, true) ) ; }
这是OLE的方法,由于代码较简洁就不多写注释了。
原帖子见:http://topic.csdn.net/u/20120214/17/6bde8f44-3afb-4f8d-afc1-f971c879e3d9.html
特别感谢老妖!
PS:
OLE报错太不友好了。
不论是用独占方式打开ACCESS用SQL语句ALTER DATABASE PASSWORD "旧密码" "新密码",
还是用ADOQuery等控件,设置独占打开方式和 ADO 控件的SQL属性为"alter…………"修改ACCESS密码,都没有成功。
调试中ing...

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Deepseek kann Dateien nicht direkt in PDF konvertieren. Abhängig vom Dateityp können Sie verschiedene Methoden verwenden: gemeinsame Dokumente (Word, Excel, PowerPoint): Verwenden Sie Microsoft Office, LibreOffice und andere Software, um als PDF zu exportieren. Bild: Speichern Sie als PDF mithilfe von Image Viewer oder Bildverarbeitungssoftware. Webseiten: Verwenden Sie die Funktion des Browsers "Into PDF" oder die dedizierte Webseite zum PDF -Tool. Ungewöhnliche Formate: Finden Sie den richtigen Konverter und konvertieren Sie ihn in PDF. Es ist wichtig, die richtigen Tools auszuwählen und einen Plan zu entwickeln, der auf der tatsächlichen Situation basiert.

Apples neueste Versionen der iOS18-, iPadOS18- und macOS Sequoia-Systeme haben der Fotoanwendung eine wichtige Funktion hinzugefügt, die Benutzern dabei helfen soll, aus verschiedenen Gründen verlorene oder beschädigte Fotos und Videos einfach wiederherzustellen. Mit der neuen Funktion wird im Abschnitt „Extras“ der Fotos-App ein Album mit dem Namen „Wiederhergestellt“ eingeführt, das automatisch angezeigt wird, wenn ein Benutzer Bilder oder Videos auf seinem Gerät hat, die nicht Teil seiner Fotobibliothek sind. Das Aufkommen des Albums „Wiederhergestellt“ bietet eine Lösung für Fotos und Videos, die aufgrund einer Datenbankbeschädigung verloren gehen, die Kameraanwendung nicht korrekt in der Fotobibliothek speichert oder eine Drittanbieteranwendung die Fotobibliothek verwaltet. Benutzer benötigen nur wenige einfache Schritte

Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...

Lösen Sie das Problem der Schnittstelle zwischen Drittanbietern, die 403 in der Node.js-Umgebung zurückgeben. Wenn wir Node.js verwenden, um Schnittstellen von Drittanbietern aufzurufen, begegnen wir manchmal einen Fehler von 403 von der Schnittstelle, die 403 zurückgibt ...

In C wird der Zeichenentyp in Saiten verwendet: 1. Speichern Sie ein einzelnes Zeichen; 2. Verwenden Sie ein Array, um eine Zeichenfolge darzustellen und mit einem Null -Terminator zu enden. 3. Durch eine Saitenbetriebsfunktion arbeiten; 4. Lesen oder geben Sie eine Zeichenfolge von der Tastatur aus.

Die Auswirkungen des Austauschs von Redis -Verbindungen im Laravel -Framework und der Auswahl von Methoden bei Verwendung von Laravel -Framework und Redis können Entwickler auf ein Problem stoßen: Durch Konfiguration ...

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

So vermeiden Sie die Schnittstelle von Drittanbietern, die 403 Fehler in der Knotenumgebung zurückgibt. Wenn Sie die Website von Drittanbietern mithilfe von node.js aufrufen, stoßen Sie manchmal auf das Problem der Rückgabe von 403-Fehler. � ...
