Einzelnen Beitrag anzeigen

clues1

Registriert seit: 11. Feb 2004
97 Beiträge
 
#4

Re: Schreibschutz für Access-Tabellen

  Alt 11. Nov 2004, 16:57
Öffne deine Datenbank im Exclusiven Modus und legen ein Datenbankkennwort drüber.
";Jet OLEDBatabase Password="


Diese Funktion habe ich aus meine EDB Komponenten kopiert.
Code:
function TEDBConnect.SetAccessDB_Password(Filename: string; NewDBPassword: string; OldDBPassword: string = ''): boolean;
var objCatalog: OleVariant;
      ConnStr: String;
    OleConnect: OleVariant;
    Neu, Alt: String;
begin
  result := false;
  LastErrorToZero;
  try
    Neu := 'NULL';
    Alt := 'NULL';
    ConnStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Filename;
    ConnStr := ConnStr + ';Persist Security Info=True';
    if OldDBPassword <> '' then begin
       ConnStr := ConnStr + ';Jet OLEDB:Database Password='+OldDBPassword;
       Alt := OldDBPassword;
    end;
    if NewDBPassword <> '' then begin
       Neu := NewDBPassword;
    end;
    OleConnect := CreateOleObject(ADOConn);
    OleConnect.CursorLocation := 3; // User client
    OleConnect.ConnectionString := trim(ConnStr);
    OleConnect.Mode := adModeShareExclusive;
    OleConnect.Open;
    OleConnect.Execute('ALTER DATABASE PASSWORD '+Neu+' '+Alt);
    OleConnect.Close;
    result := true;
  except
     on E: EOleException do
        ErrorToLastError(E);
  end;
end;
  Mit Zitat antworten Zitat