AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Befehl überprüfung auf leer
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Befehl überprüfung auf leer

Ein Thema von Tigermoon · begonnen am 2. Mai 2005 · letzter Beitrag vom 2. Mai 2005
Antwort Antwort
Tigermoon

Registriert seit: 11. Mär 2005
Ort: Baumholder
100 Beiträge
 
Delphi 7 Enterprise
 
#1

SQL Befehl überprüfung auf leer

  Alt 2. Mai 2005, 13:24
Datenbank: MySQL • Version: ? • Zugriff über: normal eben
Hallo

Gibt es einen Weg eine Abfrage auf 'leer' in einem sql-befehl (insert / update) zu machen,
dass wenn nichts eingegeben wurde der Wert auf 'NULL' gesetzt wird.

die werte werden aus einem eingabefeld ausgelesen
daher sind die werte ja standartmässig für sql '' und können niemals NULL sein

gibt es da eine funktion (oder sowas) die ich im sql insert / update befehl einfügen kann?

ich möchte keine if abfragem machen
das wäre zu einfach *g*

Steffi
Stephanie
  Mit Zitat antworten Zitat
Waldteufel
(Gast)

n/a Beiträge
 
#2

Re: SQL Befehl überprüfung auf leer

  Alt 2. Mai 2005, 13:41
Hi.

So?

UPDATE tabelle SET feld = NULL WHERE feld = ''
  Mit Zitat antworten Zitat
Tigermoon

Registriert seit: 11. Mär 2005
Ort: Baumholder
100 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: SQL Befehl überprüfung auf leer

  Alt 2. Mai 2005, 13:44
dann muss ich ja trotzdem zwei abfragen machen

geht das nicht in einer abfrage
also während ich den insert oder update befaehl mache?

weil ich weiß ja vorher nicht welches feld nachher leer sein wird (welches feld der benutzer leer läßt)
Stephanie
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: SQL Befehl überprüfung auf leer

  Alt 2. Mai 2005, 13:45
UPDATE tabelle4711 SET Ansprechpartner=NULL WHERE Ansprechpartner='' Obige SQL-Anweisung setzt das Feld Ansprechpartner auf NULL, wenn es einen leeren String enthält.
Man kann immer nur ein Feld auf diese Art updaten.

Du kannst aber auch schon beim Editieren dafür sorgen, dass leere Felder als NULL-Werte gespeichert werden.
Im Event BeforePost rufst du einfach folgende Procedure auf:
Delphi-Quellcode:
procedure ClearEmptyStringFields(fields:TFields);
var
   i : Integer;
   f : TField;
begin
   for i:=0 to fields.Count-1 do
   begin
      f := fields[i];

      if (f.DataType in [ftString, ftWideString]) and (f.Required=False) and (f.AsString='') then
         f.Clear; // Set Field to NULL
   end;
end;

procedure ......BeforePost(dataset:TDataset);
begin
   ClearEmptyStringFields(dataset.fields);
end;
Andreas
  Mit Zitat antworten Zitat
Tigermoon

Registriert seit: 11. Mär 2005
Ort: Baumholder
100 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: SQL Befehl überprüfung auf leer

  Alt 2. Mai 2005, 13:52
danke

hatte mir schon fast gedacht das es da keinen sql befehl gibt
wäre ja mal wieder zu einfach gewesen

Steffi
Stephanie
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

Re: SQL Befehl überprüfung auf leer

  Alt 2. Mai 2005, 14:00
Wie schreibst du den die Wert in die SQL ????
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  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 05:01 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