Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Community,

Ich habe folgendes Problem.

Wie kann ich in einer Paradoxdatenbank

ein bestimmtes Feld, das in mehreren Datenbanken falsch benannt wurde, umbenennen?!

Den SQL-Befehl

ALTER TABLE xxx.db RENAME... oder CHANGE
kennt die Paradoxdatenbank nicht. Nun Hab ichs probiert mit einem TTable Objekt indem ich den Namen neu setze

anl->TableName = "dptab";

anl->Active = true;

anl->FieldDefs->Items[6]->Name = "Vertikal";

anl->FieldDefs->Update();

anl->Active = false;

Beim Tracen wird erst der jetzige Name angezeigt und danach eben "Vertikal"

jedoch schreibt der diese Änderung anscheinend nicht in die Datenbank.

Da dort nach Beendigung immernoch der vorherige Name vorhanden ist.

Ist es von der Idee her richtig?! Oder geht das ganz anders?!

Danke

Alex

Geschrieben

ich benutze ja auch kein SQL-Befehl in der TTable.

Den SQL-Befehl hab ich selbstverfreilich in der TQuery benutzt aber Paradox kennt diesen Befehl nicht.

Also wollt ich es über die TTable probieren

Entweder hast dus falsch verstadnen oder ich dich

Geschrieben

Habe gerade in einem alten Projekt mit Delphi nachgesehen, wie die Funktionen dort waren.

Eventuell hilft Dir das die Syntax und Funktionen in Deiner OnlineHilfe zu finden. Fangen alle mit Dbi.... an:

{$IFDEF BDE}

function ChangePassword(Table : TTable; NewPW : String): Boolean;

var

  TblDesc: CRTblDesc;

  DBDir  : String;

  hDb    : hDbiDb;

begin

                   (* der Rückgabewert ist so lange false, bis

                      das Paßwort erfolgreich geändert worden ist    *)

  Result:=false;

                   (* den Datenbankpfad bestimmen                    *)

  DBDir:=Table.DataBaseName;

                   (* eine Datenbank auf diesem Pfad öffnen, weil

                      das Handle benötigt wird                       *)

  if DbiOpenDatabase(nil,nil,dbiReadWrite,dbiOpenExcl,nil,0,nil,

     nil,hDb) = DBIERR_NONE

    then begin

      if DbiSetDirectory(hDb,PChar(DBDir)) = DBIERR_NONE

        then begin

                   (* den Descriptor-Record zunächst löschen und

                      anschließend die notwendigen Daten zuweisen    *)

          FillChar(TblDesc, sizeof(CRTblDesc), #0);

          StrPCopy(TblDesc.szTblName,Table.TableName);

          StrCopy(TblDesc.szTblType,szParadox);

          StrPCopy(TblDesc.szPassword,NewPW);

          TblDesc.bProtected:=true;

                   (* die Tabelle umstrukturieren, d. h. ein Paßwort

                      setzen, und als Funktionswert true zurück-

                      liefern, wenn das geklappt hat                 *)

          Result:=DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil,

            false)=DBIERR_NONE;

        end;

                   (* die Datenbank wieder schließen                 *)

      DbiCloseDatabase(hDb);

    end;

end;

{$ENDIF}

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...