Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Stringverkettung mit NULL-Werten (https://www.delphipraxis.net/178722-stringverkettung-mit-null-werten.html)

Sir Rufo 23. Jan 2014 12:24

AW: Stringverkettung mit NULL-Werten
 
Was bringt das denn?
SQL-Code:
SELECT
  Nachname,
  Vorname,
  NZ( Nachname, "--" ) & ", " & NZ( Vorname, "--" ) AS name
FROM
  tAdressen

nahpets 23. Jan 2014 13:47

AW: Stringverkettung mit NULL-Werten
 
Bezüglich der Accessdatenbank hätte ich da mal 'ne Frage:

Sind die Spalten Nachname und/oder Vorname leer oder Null?

Habe eine Datenbank hier, in der einige Felder leer sind, aber die Abfrage
SQL-Code:
select * from program where genre is null
kein Ergebnis liefert, aber die Spalte ist in der gesamten Tabelle leer.

Zumindest bei Access scheint es drei Möglichkeiten zu geben:
  1. einen "sichtbaren" Wert
  2. einen "unsichtbaren" Wert
  3. Null
Noch ein paar Beispiele:
Die Spalten genre und lang sind in der gesamten Tabelle leer (in der Anzeige ist kein Wert sichtbar).
SQL-Code:
select '>'&genre &'-'&lang&'<' as Wert from Program where genre is not null and lang is not null
ergibt eine leere Ergebnismenge.
SQL-Code:
select '>'&genre &'-'&lang&'<' as Wert from Program where genre is null and lang is null]
ergibt als Ergebnis >-<. Die leeren Spalten enthalten also auch kein Leerzeichen, sondern einen leeren String, sind aber nicht Null.
Weiß der Geier warum.

Nachdem ich die Spalte genre auf Null gesetzt habe
SQL-Code:
update program set genre = null where station_id = 3334567
funktioniert auch die Abfrage
SQL-Code:
select '>'&genre &'-'&lang&'<' as Wert from Program where genre is null
und liefertz alle Sätze zur station_id 3334567.

Diese beiden Abfragen liefern immer ein Ergebnis:
SQL-Code:
select station_id&', '&genre as Wert from program where genre is not null
SQL-Code:
select station_id&', '&genre as Wert from program where genre is null
station_id ist in der gesamten Tabelle gefüllt, genre ist teils leer, teils Null.
Die station_id wird ausgegeben, unabhängig davon, ob genre nun Null, leer oder gefüllt ist.

Zumindest in Bezug auf Access müsste es demnach bei Deiner Datenbank noch eine andere Konstellation geben.

Wie greifst Du auf die Datenbanken zu? (welche Komponenten?)
Tritt der von Dir beschriebene Effekt nur "mittels Delphi" auf oder auch mit den zu den Datenbank gehörenden Oberflächen?

süden 23. Jan 2014 15:48

AW: Stringverkettung mit NULL-Werten
 
Der Zugriff erfolgt über TADODataSet als auch über die Access-Oberfläche.

Sir Rufo 23. Jan 2014 15:55

AW: Stringverkettung mit NULL-Werten
 
Was wird denn jetzt angezeigt?
Zitat:

Zitat von Sir Rufo (Beitrag 1245040)
Was bringt das denn?
SQL-Code:
SELECT
  Nachname,
  Vorname,
  NZ( Nachname, "--" ) & ", " & NZ( Vorname, "--" ) AS name
FROM
  tAdressen


süden 23. Jan 2014 19:14

AW: Stringverkettung mit NULL-Werten
 
:wall: Ja, so geht's - Danke. :-D 8-):lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr.
Seite 2 von 2     12   

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