AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Werte in einem Datenbankfeld prüfen?
Thema durchsuchen
Ansicht
Themen-Optionen

Werte in einem Datenbankfeld prüfen?

Ein Thema von romber · begonnen am 5. Okt 2010 · letzter Beitrag vom 18. Okt 2010
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#1

AW: Werte in einem Datenbankfeld prüfen?

  Alt 5. Okt 2010, 11:09
Brille nicht geputzt, ich hab da ein "%" gesehen, wo keins war . Nichtsdestotrotz ist das mehr als suboptimal, an seiner Stelle würde ich mit dem DB-Designer mal ein ernstes Wort reden (falls er es nicht selbst ist).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.167 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: Werte in einem Datenbankfeld prüfen?

  Alt 5. Okt 2010, 11:17
Vielen Dank für die schnelle Raktionen!

...an seiner Stelle würde ich mit dem DB-Designer mal ein ernstes Wort reden (falls er es nicht selbst ist).
Doch, das bin ich...
Wie soll ich es wieder gut machen? Soll ich am besten für jede Zahlenwert eins Feld erstellen, wenn ich eine alle möglichen Zahlenwerte kenne? Denn genau das wollte ich vermeiden. Ich habe 155 Werte, für die ich dann jeweils einen Feld erstellen muss.
  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
 
#3

AW: Werte in einem Datenbankfeld prüfen?

  Alt 5. Okt 2010, 11:20
Vielen Dank für die schnelle Raktionen!

...an seiner Stelle würde ich mit dem DB-Designer mal ein ernstes Wort reden (falls er es nicht selbst ist).
Doch, das bin ich...
Wie soll ich es wieder gut machen? Soll ich am besten für jede Zahlenwert eins Feld erstellen, wenn ich eine alle möglichen Zahlenwerte kenne? Denn genau das wollte ich vermeiden. Ich habe 155 Werte, für die ich dann jeweils einen Feld erstellen muss.
Nein, erstelle eine Zusätzliche Tabelle mit einer Parent Spalte und der Wert Spalte
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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#4

AW: Werte in einem Datenbankfeld prüfen?

  Alt 5. Okt 2010, 12:40
Richtig, evtl. dann noch die Kombination dieser beiden Felder als UNIQUE oder gleich als PrimaryKey definieren, das sorgt für Eindeutigkeit (sofern gewünscht, ich kenne ja die Anforderung nicht).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.167 Beiträge
 
Delphi 10 Seattle Professional
 
#5

AW: Werte in einem Datenbankfeld prüfen?

  Alt 5. Okt 2010, 13:41
Nein, erstelle eine Zusätzliche Tabelle mit einer Parent Spalte und der Wert Spalte
Parent ist dan der Datensatz, zu dem der Wert gehört? Verstehe ich das richtig?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#6

AW: Werte in einem Datenbankfeld prüfen?

  Alt 5. Okt 2010, 13:42
Ja, Parent ist ein Fremdschlüssel auf den Primärschlüssel der Mastertabelle.

[edit] Hab mal ein Bild angehangen [/edit]
Angehängte Grafiken
Dateityp: png MasterDetail.png (73,9 KB, 23x aufgerufen)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH ( 5. Okt 2010 um 15:20 Uhr)
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.167 Beiträge
 
Delphi 10 Seattle Professional
 
#7

AW: Werte in einem Datenbankfeld prüfen?

  Alt 5. Okt 2010, 17:23
Vielen Dank für dieses Bild!
Noch eine Frage dazu: ab und zu werden die Datensätze aktuallisiert. Die Zahlenwerte werden in der Regel auch geändert, einige neue Werte kommen dazu und einige fallen weg. Bisher musste ich einfach den neuen Inhalt mit kommagertrennten Zahlenwerten eintragen und das war's auch. Wie mache ich das am besten, wenn ich die Werte in einer separaten Tabelle ablege? Soll ich beim Aktuallisieren alle zugehörige Werte aus Detailstabelle entfernen und dann die neue eintragen, oder gibt es eine elegantere Methode?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#8

AW: Werte in einem Datenbankfeld prüfen?

  Alt 6. Okt 2010, 09:56
Bei den zu löschenden ist es ja klar. Für neue oder zu aktualisierende Datensätze bietet sich die UPDATE OR INSERT INTO-Syntax an (das ist allerdings eine Firebird-Spezialität, ob MSSQL etwas ähnliches auch bietet, entzieht sich meiner Kenntnis). Dazu ist es aber wahrscheinlich etwas einfacher, der Detailtabelle einen künstlichen Primärschlüssel zu spendieren und die Kombination der anderen beiden Felder als UNIQUE zu definieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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
 
#9

AW: Werte in einem Datenbankfeld prüfen?

  Alt 5. Okt 2010, 11:17
Ich stimme dir ja zu, was das Design angeht, aber manchmal hat man da Null Einfluß drauf
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
Antwort Antwort


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