Datenbank: MSSQL • Zugriff über: ADO
Wert ändern von feld funktioniert nicht :/
Hallo,
Ich habe ein Problem und sitze daran schon mehrere Stunden. Ich versuche den wert user_pwd zu ersetzen mit der DBText2.Caption, jedoch geht das nicht, er übernimmt es nicht richtig oder kA was ich falsch mache, ich habe auch schon hier gesucht.
Delphi-Quellcode:
DBText2.Caption ist ein md5 hash. und der soll im feld user_pwd ersetzt/ eingetragen werden.
// DBEdit3 ist Passwort feld.
procedure TForm1.DBEdit3Change(Sender: TObject); begin DBText2.Caption:=md5(DBEdit3.Text); end; procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); begin if Button = nbPost then begin with ADODataSet2 do begin close; CommandText:='SELECT user_pwd FROM USER_PROFILE WHERE user_pwd = :'+DBText2.Caption+';'; open; end; end; end; |
Re: Wert ändern von feld funktioniert nicht :/
Zitat:
SELECT fragt nur Datenmengen ab, such mal nach UPDATE. |
Re: Wert ändern von feld funktioniert nicht :/
Hallo,
laut Hilfe kann man mit einem DBText nichts ändern:
Code:
Mit einem TDBText-Objekt kann der Inhalt eines Feldes des aktuellen Datensatzes einer Datenmenge in einem Formular angezeigt werden. Die Feldwerte können mit diesem Objekt aber nicht geändert werden. Um dem Benutzer die Möglichkeit zu geben, den Feldwert zu ändern, verwenden Sie TDBEdit- oder TDBMemo-Objekte.
|
Re: Wert ändern von feld funktioniert nicht :/
Hallo,
warum nutzest Du nicht den Haken beim DBNavigator. Damit geht das von ganz alleine. Außerdem solltest Du ein DBEdit verwenden, weil DBText ja eigendlich nur ein Label ist. Gruß Jens |
Re: Wert ändern von feld funktioniert nicht :/
Zitat:
@vsti liegt richtig, ein beispiel wer nice ansonsten baue ich mal auf der antwort. Ich habe nochnie mit MSSQL oder sonstigen DB kram gearbeitet und brauche etwas hilfe, und keine gutgemeinten ratschläge um die Post's zu pushen xD Also Label hin oder her. Ich brauche was in der richtung was vsti ansprach. |
Re: Wert ändern von feld funktioniert nicht :/
Jetzt versteh ich nicht was du meinst,
wenn ich dich richtig verstanden habe, hast Du eine Datenbank, wo du einen Wert in der Spalte user_psw hast. Diesen Wert lässt Du momentan über ein DBText anzeigen.Gib jetzt jmand über ein DBEidt einen neuen Wert an, willst Du diesen in der B aktualisieren. Also könntest Du, wenn du eine DBNavigator verwendest, das darüber realisieren. Nach dem ändern, steht dann dein neuer Wert in DBText. Oder, was hast Duvor. Gruß Jens |
Re: Wert ändern von feld funktioniert nicht :/
Es gibt zu viele Unbekannten:
-Wie sieht die ursprünglich Abfrage aus? Ist diese updatable? Wenn nicht existiert ein Updateobjekt? -Ist Datensatz im Editiermodus? -Query oder Table? |
Re: Wert ändern von feld funktioniert nicht :/
Ich würde das ungefähr so machen: eine ADOQuery oder ein ADOCommand hinzufügen und mit der DB verbinden. In deren SQL kommt dann eine Anweisung der Form
SQL-Code:
In Delphi befüllst Du dann einfach die Parameter und führst es aus:
UPDATE USER_PROFILE SET user_pwd = :newpw
WHERE ID = :id
Delphi-Quellcode:
Aus dem Kopf getippt und daher nicht getestet.
procedure TForm1.UpdateUserPassword(ID: Cardinal; const NewPW: string);
begin ADOQueryPW.Parameters.ParamByName('id').Value := ID; ADOQueryPW.Parameters.ParamByName('newpw').Value := NewPW; ADOQueryPW.ExecSQL; end; |
Re: Wert ändern von feld funktioniert nicht :/
Naja, ich lass es mal sein da ich irgendwie die logic net kapiere von der DB, zb woher beziehe ich die ID etc...
Einfachste wär ... Eine DBGRID und ne verbindung und ne combobox zum hin und her Zwitchen der Datenbanken non-code required. Da denkt man mal, das man sich schon bissel in delphi aus - kennt nach 4 jahren, und Glotzt bei DB als hätte man diese IDE noch nie angerührt lol naja thx at all |
Re: Wert ändern von feld funktioniert nicht :/
Warum gibst Du so schnell auf. Mach doch mal folgendes. Leg doch mal offen, was du bislang hast, und wir helfen Dir. Ich bin auch noch nicht lang am DB programmieren, habe es aber auch hin bekommen.
Als erstes, würde ich das auch mal vieleicht mit einem DBGrid und so testen. Und dann Schritt für Schritt weiter. Gruß Jens |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz