Nuja, es geht also um Oracle Passwörter. Den nötigen Befehl dazu hast Du ja in Deinem Code angegeben.
"alter user xy identified by xxxx"
Nun weiss ich grad leider nicht, wie Passwörter in Oracle aufgebaut sein dürfen, aber damit garantiert nix schief geht, solltest Du lieber Variablen verwenden. also nach diesem Schema:
Delphi-Quellcode:
query := '
alter user :MYUSER identified by :MYPASS');
DM.qryUpdate.SQL.Clear;
DM.qryUpdate.SQL.Add (UpperCase(
query));
DM.qryUpdate.DeclareVariable('
MYUSER', otString);
// An dieser Stelle musst Du selber schauen, ob der Typ stimmt
DM.qryUpdate.DeclareVariable('
MYPASS', otString);
// An dieser Stelle musst Du selber schauen, ob der Typ stimmt
DM.qryUpdate.SetVariabe('
MYUSER', trim(edtUser.Text));
//*
DM.qryUpdate.SetVariabe('
MYPASS', trim(edtNewPasswrd.Text));
//*
DM.qryUpdate.ExecSQL;
Das wars. Vielleicht noch ein wenig feilen hier und da
Übrigens eine Frage an alle. Was bringt es eigentlich in einem Bezeichner einen Buchstaben wegzulassen? Beispiele mit * markiert. Ich sehe sowas immer wieder und weiss nicht, was ich davon halten soll. Ob es jetzt EditNewPassword oder EdtNewPasswrd heisst, ist doch wirklich egal, wobei erstere Variante jegliche Missverständnisse von vorneherein ausschließt.
Sherlock