AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken IBDAC: In der DB sind Leerstrings statt Null. Alternativen?
Thema durchsuchen
Ansicht
Themen-Optionen

IBDAC: In der DB sind Leerstrings statt Null. Alternativen?

Ein Thema von BlueStarHH · begonnen am 14. Okt 2010 · letzter Beitrag vom 7. Okt 2019
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.599 Beiträge
 
Delphi 12 Athens
 
#1

AW: IBDAC Leerstring statt Null. Alternativen?

  Alt 12. Sep 2019, 17:57
Es gibt noch eine Möglichkeit: Wert bekannt und kein Leerstring, besteht aber nur aus Leerzeichen.

So wie ich das verstanden habe, ist diese Vorgabe <Leerstring> => NULL hier anwendungsspezifisch.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Int3g3r

Registriert seit: 28. Nov 2018
Ort: Schweiz
118 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: IBDAC Leerstring statt Null. Alternativen?

  Alt 12. Sep 2019, 18:17
Es gibt noch eine Möglichkeit: Wert bekannt und kein Leerstring, besteht aber nur aus Leerzeichen.

So wie ich das verstanden habe, ist diese Vorgabe <Leerstring> => NULL hier anwendungsspezifisch.
Genau genommen ist ja ein ("Leerstring" != NULL). Nur möchte ich solche Felder in der DB nicht haben. Es sieht einfach schäusslich wenn man Felder hat bei denen ist NULL eingetragen bei anderen wiederum sind "Leerstrings" drin. Am Benutzer ein "Leerstring" anzuzeigen oder einen "Leerstring" auszuwerden ergibt für mich keinen Sinn. Entweder hat ein Feld für mich erkennbare Daten oder es ist LEER = NULL.

Sicherlich kann es für andere Anwendungen Sinn machen wenn man wissen will ob je ein Eintrag gemacht wurde oder nicht. Für meine Anwendung ist dies aber nicht relevant.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: IBDAC Leerstring statt Null. Alternativen?

  Alt 12. Sep 2019, 19:19
Hallo,
Zitat:
bei denen ist NULL eingetragen bei anderen wiederum sind "Leerstrings" drin
Das liegt aber am Programmierer
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
685 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: IBDAC Leerstring statt Null. Alternativen?

  Alt 13. Sep 2019, 08:11
Man kann das Feld in Firebird ja auch mit einem Default belegen, der dann ein Leerstring ist.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.428 Beiträge
 
Delphi 12 Athens
 
#5

AW: IBDAC Leerstring statt Null. Alternativen?

  Alt 13. Sep 2019, 08:22
Moin...
Zitat:
Ich möchte keine Leerstrings in meiner DB
...so scheiden sich die Geister. Ich mag NULL Werte in der Datenbank nicht. Für mich ist ein Datensatz eine "Einheit" ... und da gibt es keine "Null = Wert nicht bekannt" Felder. Ein Feld hat einen Wert, und wenn es '' ist. Zum Anderen hat man auch die Kontrolle, ob der Datensatz auch komplett geschrieben wurde.
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
614 Beiträge
 
Delphi XE6 Enterprise
 
#6

AW: IBDAC Leerstring statt Null. Alternativen?

  Alt 7. Okt 2019, 12:25
Moin...
Zitat:
Ich möchte keine Leerstrings in meiner DB
...so scheiden sich die Geister. Ich mag NULL Werte in der Datenbank nicht. Für mich ist ein Datensatz eine "Einheit" ... und da gibt es keine "Null = Wert nicht bekannt" Felder. Ein Feld hat einen Wert, und wenn es '' ist. Zum Anderen hat man auch die Kontrolle, ob der Datensatz auch komplett geschrieben wurde.
Trotzdem muss man immer mit NULL rechnen. Jeder JOIN der kein INNER ist, kann NULL-Werte produzieren. Beispielsweise als Ergebnis eines Views oder einer Selectable Stored Procedure, das im Programm dann wie ein "Datensatz" aussieht - mit NULL-Werten drin.

Btw. Für
Code:
IF (feld = '') feld = NULL;
gibt es eine eigene Anweisung
Code:
feld = NULLIF(feld, '');
Ist quasi das Gegenstück zu COALESCE.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.867 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: IBDAC Leerstring statt Null. Alternativen?

  Alt 13. Sep 2019, 08:47
Man kann das Feld in Firebird ja auch mit einem Default belegen, der dann ein Leerstring ist.
Das wäre dann geanu das Gegenteil von dem, was der TE will.

(Betreff des Threads ist etwas missverständlich)
Markus Kinzler
  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 01:47 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 by Thomas Breitkreuz