Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wert ändern von feld funktioniert nicht :/ (https://www.delphipraxis.net/132118-wert-aendern-von-feld-funktioniert-nicht.html)

danu1104 6. Apr 2009 15:36

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:
// 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;
DBText2.Caption ist ein md5 hash. und der soll im feld user_pwd ersetzt/ eingetragen werden.

vsti 6. Apr 2009 15:49

Re: Wert ändern von feld funktioniert nicht :/
 
Zitat:

Zitat von danu1104
... ich habe auch schon hier gesucht.

das bezweifel ich...

SELECT fragt nur Datenmengen ab, such mal nach UPDATE.

nahpets 6. Apr 2009 15:55

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.

Jens Hartmann 6. Apr 2009 15:59

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

danu1104 6. Apr 2009 16:05

Re: Wert ändern von feld funktioniert nicht :/
 
Zitat:

Zitat von Jens Hartmann
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

Der gibt aber einen String wieder denn ich dort zwischen - Speichere .. ich könnte auch eine Variable nehmen das wär genau dat gleiche.

@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.

Jens Hartmann 6. Apr 2009 16:13

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

mkinzler 6. Apr 2009 16:16

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?

DeddyH 6. Apr 2009 16:17

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:
UPDATE USER_PROFILE SET user_pwd = :newpw
WHERE ID = :id
In Delphi befüllst Du dann einfach die Parameter und führst es aus:
Delphi-Quellcode:
procedure TForm1.UpdateUserPassword(ID: Cardinal; const NewPW: string);
begin
  ADOQueryPW.Parameters.ParamByName('id').Value := ID;
  ADOQueryPW.Parameters.ParamByName('newpw').Value := NewPW;
  ADOQueryPW.ExecSQL;
end;
Aus dem Kopf getippt und daher nicht getestet.

danu1104 6. Apr 2009 17:14

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

Jens Hartmann 6. Apr 2009 17:39

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.
Seite 1 von 3  1 23      

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