Einzelnen Beitrag anzeigen

Benutzerbild von trockentaucher
trockentaucher

Registriert seit: 25. Nov 2003
Ort: Dortmund
41 Beiträge
 
Delphi 7 Professional
 
#1

ADS Table und Restructure

  Alt 14. Jan 2006, 19:58
Datenbank: ADS Local • Version: 7.1 • Zugriff über: ADS Connection & DataSet
Hallo an die Datenbankexperten!

Ich bastel gerade eine Update-Sequenz, die bei zukünftigen Prog.-Releases die ADS-Tabellen auf den benötigten Stand bringen soll. Gleich bei der ersten Übung habe ich so meine Probleme.

Ich möchte ein Feld in einer Tabelle modifizieren, es soll die Feldlänge geändert werden. Die Tabelle gehört zu einer DB, die im Proggy über eine ADS Connection und dem DataSet geöffnet wird. Die DB hat ein Passwort und ist encrypted, es existiert ein Index, das Feld selber ist nicht indiziert.

Nach dem Programmstart wird gecheckt, ob die DB angepasst werden soll. Ist das der Fall, wird ein Formular geöffnet (ShowModal) und folgendes kommt zum Einsatz

Delphi-Quellcode:
           with frm_main do {Tabelle im MainForm deaktivieren}
             Table_Benutzer.Active := False;

           Try
             with Table_Benutzer do {in dem Formular ist ebenfalls ein DataSet und TAdsTable angelegt}
             begin
               Exclusive := True;
               Active := False;
               Restructure('', '', 'Login, Login, Char, 15, 0');
               {Bin mit nicht sicher ob die syntax stimmt}
               Exclusive := False;
             end;
           Except
             on Exception do MessageDlg('Fehler', mtInformation, [mbOk], 0);
           End;

           boUpdateInProgress := False;
           Screen.Cursor := crDefault;

           with frm_main do
             Table_Benutzer.Active := True;
Nach dem Aufruf kommt folgende Exception vom ADS:

'Table_Benutzer: Error 5119: Error encountered when trying to open a database table. The table is not a database table.'

Hmm, die Tabelle wurde mit dem Data Architect erstellt und der DB hinzugefügt. Keinerlei Probleme im gesamten Proggy, wo Datensätze gelöscht, hinzugefügt und geändert werden. Was mache ich falsch?

Die Tabelle wird nach dieser Aktion nicht mehr in der DB geführt, ein Neustart des Proggys nicht möglich.

mfg,
Trocki
  Mit Zitat antworten Zitat