Hallo Leute,
Ich habe zwei Probleme mit der DBEdit Komponente:
Erste Frage:
Und zwar möchte ich das Value von einem DBEdit als Passwort-Hash abspeichern (Update Statement).
Vorher habe ich den
Sql String zusammengestöpselt und einfach
'SET(passw=PASSWORD(' + quotedStr(EditPW.text) + '))'
gemacht. Jetzt wollte ich mal auf DBEdits umrüsten, da ich das sauberer finde.
Jedoch weiss ich jetzt nicht wie ich da die PASSWORD() Funktion reinbekomme.
Ich habe schon versucht
EditDialog.dsEdit.DataSet.FieldByName('passw').Value := 'PASSWORD(' + QuotedStr(EditDialog.EditPw.Text) + ')';
vor dem Dataset.Post einzufügen, jedoch nimmt er das als String und nicht als Funktion.
Soll heissen es steht dann z.B.: PASSWORD('testpassword') in der Datenbank.
Wie könnte ich das Realisieren?
Zweite Frage:
Ich habe eine TDBComboBox, in der verschiedene Items sind.
Wenn ich jetzt z.B.: Deutschland auswähle, soll eine bestimmte Zahl in der Datenbank gespeichert werden.
Also z.B.: Deutschland=1, England=2,Brazilien=3....
Das habe ich jetzt mit folgendem Workaround realisiert:
Die TDBComboBox mit Zahlen gefüllt und dann:
Delphi-Quellcode:
procedure TEditDialog.cbCountryDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
if cbCountry.Items[index]='1' then
cbCountry.Canvas.TextRect(Rect, Rect.Left, Rect.Top, 'Deutschland');
if cbCountry.Items[index]='2' then
cbCountry.Canvas.TextRect(Rect, Rect.Left, Rect.Top, 'England');
end;
Jedoch empfinde ich das als unsauber. Ich habe online dazu auch etwas mit name value paaren gelesen,
jedoch habe ich das nicht hinbekommen.
Ich hoffe das es jetzt nicht so schlimm ist, das ich 2 Fragen in einem Thread behandle, falls doch, einfach sagen und ich mache noch einen neuen Thread für die ComboBox auf. Ich dachte nur dass die Fragen ähnlich genug sind.
MFG Leon