AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi XE5: MyBase einzelnen Wert im DataSet ändern

XE5: MyBase einzelnen Wert im DataSet ändern

Ein Thema von Kralle · begonnen am 13. Apr 2014 · letzter Beitrag vom 13. Apr 2014
Antwort Antwort
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#1

XE5: MyBase einzelnen Wert im DataSet ändern

  Alt 13. Apr 2014, 08:39
Datenbank: MyBase • Version: 1 • Zugriff über: direkt
Moin,

nach dem ich jetzt x-Beiträge und Tutorials gelesen habe, bin ich immer noch nicht schlauer.
Gegeben ist
ID Status Codenummer Beschreibung Wert
1 1 30 Spannung
2 1 31 Strom
3 0 32 Widerstand

Wie ändere ich OHNE den Weg über das DBGrid bei ID=3 den Wert Status=0 auf Status=1

DataSet.edit
.....
DataSet.post
sind klar, aber dazwischen?

Gruß HEiko
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: XE5: MyBase einzelnen Wert im DataSet ändern

  Alt 13. Apr 2014, 08:53
So
DataSet.FieldByName('Status').Value := 1;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#3

AW: XE5: MyBase einzelnen Wert im DataSet ändern

  Alt 13. Apr 2014, 09:12
Guten Morgen,

So
DataSet.FieldByName('Status').Value := 1;
Aber, woher weiss das Dataset, das ich "Zeile 3" und nicht "Zeile 1" ändern will?
Das ist mein Problem.

Gruß HEiko
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: XE5: MyBase einzelnen Wert im DataSet ändern

  Alt 13. Apr 2014, 09:17
Delphi-Quellcode:
if Dataset.Locate( 'ID', 3, [] ) then
begin
  Dataset.Edit;
  Dataset['Status'] := 1;
  Dataset.Post;
end
else
  raise Exception.Create( 'Datensatz nicht gefunden!' );
Es gibt doch jede Menge Tutorials bzgl. Delphi und Datenbanken, warum schaust du dir die nicht mal an?

z.B. http://www.delphi-treff.de/tutorials/datenbanken/
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (13. Apr 2014 um 09:19 Uhr)
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#5

AW: XE5: MyBase einzelnen Wert im DataSet ändern

  Alt 13. Apr 2014, 09:45
Moin,

[DELPHI]if Dataset.Locate( 'ID', 3, [] ) then
Okay, damit weiß ich ob der aktuelle Datensatz der mit der ID=3 ist.
Jetzt muß ich nur noch den dafür sorgen, das der aktuelle Datensatz der mit der ID=3 ist.
Mit Dataset.Locate( 'ID', 3, [] ) scheint man das zu machen.
Kurz ausprobiert: Jupp geht.

Es gibt doch jede Menge Tutorials bzgl. Delphi und Datenbanken, warum schaust du dir die nicht mal an?

z.B. http://www.delphi-treff.de/tutorials/datenbanken/
Ich habe die letzten Stunden auch dort gelesen, Foren durchsucht und in zwei Datenbankbücher im Regal geschaut, aber bei alle MyBase-Beispiele wurden Daten nur im DBGrid geändert.
Dann habe ich nach 'Dataset' und 'ändern' gesucht und bekam x-Antworten wie man die Breite, Farbe usw. ändern kann. Also, habe ich nach 'Dataset' und 'editieren' gesucht aber dort fand ich nur
DataSet.FieldByName('Status').Value := 1; in verschieden Schreibweisen - also nur auch auf den aktuellen Datensatz bezogen, aber ich fand nichts wie ich einen Datensatz auswähle.

Gruß HEiko
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)

Geändert von Kralle (13. Apr 2014 um 09:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: XE5: MyBase einzelnen Wert im DataSet ändern

  Alt 13. Apr 2014, 09:57
Hmmm, http://www.delphi-treff.de/tutorials...ner-datenbank/

und Delphi-Referenz durchsuchenTDataset.Locate teilt mit
Zitat:
Diese Methode führt folgende Aktionen durch:
Sie überprüft, ob es sich um eine unidirektionale Datenmenge handelt. Ist dies der Fall, wird eine EDatabaseError-Exception ausgelöst.
Sie gibt false zurück, wenn kein übereinstimmender Datensatz gefunden und der aktive Datensatz nicht gewechselt wurde.
Abgeleitete Klassen (mit Ausnahme unidirektionaler Datenmengen) überschreiben Locate, um nach dem Datensatz zu suchen, in dem die in KeyFields übergebenen durch Semikolon getrennten Felder die durch KeyValues angegebenen Werte haben (KeyValues ist eine Variante bzw. ein variantes Array). Mit Options können Suchoptionen festgelegt werden (Groß-/Kleinschreibung und Teilübereinstimmung). Locate gibt true zurück, wenn der gesuchte Datensatz gefunden und aktiviert wurde.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#7

AW: XE5: MyBase einzelnen Wert im DataSet ändern

  Alt 13. Apr 2014, 11:05
Hallo Sir Rufo,

Danke für Deine Hilfe.

Gruß Heiko
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)
  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 04:35 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