AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Updaten

Ein Thema von Privateer3000 · begonnen am 3. Jul 2002 · letzter Beitrag vom 3. Jul 2002
Antwort Antwort
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
FreePascal / Lazarus
 
#1

Updaten

  Alt 3. Jul 2002, 08:28
Hi Leuts,

ich habe mit 'Tools / Datenbankoberfläche' in Delphi ein Tabelle erstellt.
Wie man mit den DBNavigator umgeht ist klar, und einfach.
Aber wie gebe ich Daten bzw. update ich diese ohne diesen??
In meinem Programm wird durch Klcik auf einen Radio(1-4) ein Wert(1-4) einem Label zugewiesen.Dieser wird im Laufe der Zeit mehrmals aktualisiert.Also soll nach einem Radio-Klick der neue Wert im Label(geht schon) aber auch in der Tabelle aktualisiert werden.

Grüsse
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.581 Beiträge
 
Delphi 10.4 Sydney
 
#2
  Alt 3. Jul 2002, 09:12
Warujm nutzt Du nicht die RadioButtons aus der DB Palette, diese machen das doch völlig selbständig
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
FreePascal / Lazarus
 
#3
  Alt 3. Jul 2002, 09:20
Kannst Du mir mal bitte ein praktisches Beispiel mit diesen geben???
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.015 Beiträge
 
Delphi 2010 Professional
 
#4
  Alt 3. Jul 2002, 09:25
Hallo Privateer3000,

du mußt die entsprechenden Methoden dann beim Drücken des entsprechenden Schalters "manuell" Aufrufen.

Code:
{ zum Editieren }
Table1.Edit;

{ zum speichern }
Table1.Post;

{ zum Navigieren }
Table1.First;
Table1.Last;
Table1.Next;
Table1.Prior;

{ zum neu Einfügen }
Table1.Insert;
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
FreePascal / Lazarus
 
#5
  Alt 3. Jul 2002, 11:53
Hi Schpocki

was ist der Unterschied zwischen Edit und Post und Insert,
ich meine in meinem Fall?!

Weil der Wert ist ja immer schon vorhanden, am Anfang ist er '0'.
Weil ich am Programmanfang zB Label1Caption:= 0; aufrufe.

Ist das ein Edit oder Post dann?

Grüsse
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.015 Beiträge
 
Delphi 2010 Professional
 
#6
  Alt 3. Jul 2002, 13:00
Hallo Privateer3000,

wenn du den Datensatz, den du updaten willst bereits ausgewählt hast und die Tabelle geöffnet ist, dann ist die Anweisungsfolge so:

Code:
try
  Table1.Edit;
  Table1.FieldByName('RadioBtnWert').AsInteger := RadioBtn;
  Table1.Post;
except
   on exception do
   begin
      { Fehlermeldung ausgeben }
      ...
      Table1.Cancel;
   end;
end;
Dabei muss Table1 durch den echten Tabellennamen, der Feldname 'RadioBtnWert' durch deinen Feldnamen ersetzt werden und RadioBtn auf der rechten Seite der Zuweisung durch den Wert 1-4 ersetzt werden, den du auch dem Label zuweist. Aber Achtung: ich habe hier AsInteger geschrieben, deshalb muss hier im Gegensatz zum Label ein Integer-Wert übergeben werden.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
FreePascal / Lazarus
 
#7
  Alt 3. Jul 2002, 13:49
Danke Spocki,

werde das gleich ausprobieren zu Hause, bin ja noch im Büro
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
FreePascal / Lazarus
 
#8
  Alt 3. Jul 2002, 19:57
Hi Spocki,

wie ist das...
kann ich eine verbindung persistent zu einer Datenbank öffnen,
weil in diesem Programm mit 2 zwei Tabellen gearbeitet wird müsste die DB immer ansprechbar sein?Oder ist diese "eigentlich immer da"?
Beispielsweise über Datamodule2.Table2......immer greifbar?
Oder wird sie schon über Table2.Edit geöffnet?

Desweiteren muss die Anwendung wissen in welche Zeile geschrieben werden muss.
Das heisst, beim Start der Anwendung soll ein neuer Satz generiert werden der so heisst wie der Anwender als Namen in der inputbox am Anfang eingibt.
Dieser Satz wird mit diesen Punkten der Radios "gefüttert".Erst beim Schliessen der Anwendung ist der Datensatz fertig.

Ich hoffe das ich das irgendwie rüberbringen konnte
Mein Gott...in PHP wär ich längst fertig

Danke!
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.015 Beiträge
 
Delphi 2010 Professional
 
#9
  Alt 3. Jul 2002, 20:47
Hallo Privateer3000,

du kannst einen ALIAS als "Ersatznamen" für ein Verzeichnis über die BDE definieren. Mit jedem TTable Objekt kannst du auf eine Tabelle jederzeit zugreifen. Damit du mit der Tabelle etwas machen kannst, musst du sie öffnen:

Code:
Datamodule2.Table2.Open;
Edit ohne vorherigen Open löst eine exception aus.

Angenommen der Anwender heißt MrSpock und der Wert steht in der Variablen "Anwender", außerdem hast du einen Schlüssel auf das Feld Name der Tabelle Table2 definiert, dann kannst du am Anfang folgendes schreiben:

Code:
with Datamodule2 do
begin
  Table2.Open;
  if Table2.FindKey([Anwender]) then
      { Anwender Datensatz existiert schon }
     Table2.Edit
  else begin
      Table2.Insert;
      Table2.FieldByName('Name').AsString := Anwender;
  end;
  { jetzt die Felder setzen }
  ...
  Table2.Post;
  Table2.Close;
end;
Das Ganze wie immer im try except Block und ein Table2.Cancel im Falle einer exception.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf