AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Feld durch verschlüsselten Text ersetzen
Thema durchsuchen
Ansicht
Themen-Optionen

Feld durch verschlüsselten Text ersetzen

Ein Thema von waldforest · begonnen am 9. Feb 2011 · letzter Beitrag vom 9. Feb 2011
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Feld durch verschlüsselten Text ersetzen

  Alt 9. Feb 2011, 21:31
Das mag schon möglich sein, aber ein Flaschenhals ist definitiv das Update mit dem gezeigten Verfahren.

Dafür sollte man ein prepared Statement mit einem Parameter nehmen.
Das geht erheblich schneller.

Eine Query erstellen mit folgendem SQL-Text
Code:
UPDATE MeineTabelle SET name = :CryptName WHERE MeineTabelle.ID = :ID
Die DataSource der Abfrage-Query als MasterSource der Update-Query festlegen.
Delphi-Quellcode:
UpdateQuery.Prepare;
try
while not AbfrageQuery.EOF do
  begin
    UpdateQuery.ParamByName( 'CryptName' ) := Crypt( AbfrageQuery.FieldByName( 'name' ).AsString );
    UpdateQuery.ExecSQL;
    AbfrageQuery.Next;
  end;
finally
  UpdateQuery.Unprepare;
end;
Ob der Aufruf genau so funktioniert hängt von den verwendeten Komponenten und DB ab.

Hallo,
leider funktioniert dies nicht.

Im Prinzip möchte ich ein Feld, welches verschlüsselt ist entschlüsseln.

Bei vorgeschlagener Vorgenhensweise erhalte ich die Exception, dass das Feld name nicht gefunden wurde.

Auch das Ersetzen durch
sqlText := 'Update Tabelle set name ='+ Crypt(Tabelle.FieildbyName('name').value, "WEDRFXEFCRTT"))+ 'where name = name;';
hilt nicht
Äh, bitte Transferleistung aktivieren ... DU kennst die korrekte Bezeichnung deiner Felder, WIR nicht!

Allerdings:
Code:
UPDATE
...
WHERE
  name = name
ist irgendwie sinnentleert, kann man dann auch gleich weglassen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 9. Feb 2011 um 21:34 Uhr)
  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 14:27 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-2025 by Thomas Breitkreuz