AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Automatische Felder in der Access-DB erzeugen
Thema durchsuchen
Ansicht
Themen-Optionen

Automatische Felder in der Access-DB erzeugen

Ein Thema von m-werk · begonnen am 9. Sep 2002 · letzter Beitrag vom 1. Okt 2002
Antwort Antwort
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#1
  Alt 1. Okt 2002, 19:55
Hi, ich glaub jetzt hab ich die Ursache für den Fehler gefunden.

Bei mir ist es so, dass ich bei der ConnectionString im Objektinspektor nichts drinn stehen habe. Das heist, ich kann, wenn ich im Programmiermodus bin, nichts neues erstellen.

Ich rufe erst die Connectionstring beim start des Programmes auf. Ich habe das deshalb gemacht, da ich den Path von der Datenbank in die Registry schreibe und von dortaus auch ablese. (Das hat so seine Gründe).
Und ein Passwort habe ich ja auch in der Connectionstring.

So sieht der Code aus:
Code:
procedure TDM.DataModuleCreate(Sender: TObject);
var REG:TRegistry;
    a:string;
begin
  REG:=Tregistry.create;
  try
    REG.RootKey := HKEY_CURRENT_USER;
    REG.Access := KEY_READ;
    if REG.OpenKeyReadOnly('Software\AriusDB\SettingsDB') then
    begin
      try
        a:=REG.ReadString('DBPath');
        if not DirectoryExists(a) then
        begin
          MessageBox(0,PChar(SysErrorMessage(GetLastError)+#13#13+'Datenbank wurde nicht gefunden! Wert: '+IntToStr(GetLastError)),'Fehler!',MB_ICONERROR or MB_OK);
        end;
      except
        MessageBox(0,PChar(SysErrorMessage(GetLastError)+#13#13+'Datenbank wurde nicht gefunden! Wert: '+IntToStr(GetLastError)),'Fehler!',MB_ICONERROR or MB_OK);
      end;
    end
    else
    begin
      MessageBox(0,PChar(SysErrorMessage(GetLastError)+#13#13+'Datenbank wurde nicht gefunden! Wert: '+IntToStr(GetLastError)),'Fehler!',MB_ICONERROR or MB_OK);
    end;
  finally
    FreeAndNil(REG);
  end;
  ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=' +
                          a + '\Kundendaten.mdb;Mode=ReadWrite;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password=passwort;'+
                         'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;' +
                         'Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
  ADOConnection1.Connected := TRUE;
  DM.ADOSHaupt.Open; DM.ADOSKinder.Open; DM.ADOSGeschaeft.Open; DM.ADOSFinanzierung.Open;
  DM.ADOSHaushalt.Open; DM.ADOSAnlageprofiel.Open; DM.ADOSEmpfehlung.Open; DM.ADODataSet1.Open;
  DM.ADODataSet2.Open;
end;
Kann ich das auch anders machen, so dass ich im Programmiermodus auch aktuell bin?
Grüße, m-werk
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz