AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi nullen ersetzen in sql abfrage
Thema durchsuchen
Ansicht
Themen-Optionen

nullen ersetzen in sql abfrage

Ein Thema von stonimahoni · begonnen am 10. Jan 2005 · letzter Beitrag vom 11. Jan 2005
Antwort Antwort
Seite 1 von 3  1 23      
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#1

nullen ersetzen in sql abfrage

  Alt 10. Jan 2005, 10:59
hi leute

ich hab mal wieder ein kleines prob und bin heut nicht so auf der höhe daher folgende frage :

ich habe mir einen union select gebastelt und da ist ja voraussetzung, dass in jedem select die gleiche anzahl der felder vorkommt. daher musste ich mir auch "platzhalter" anlegen.
die platzhalter geben mir eine "0" aus. die eigentlichen felder sind jedoch datumsfelder.
jetzt das problem : wenn ich den select durchführe und die daten in mein db grid einfliessen und anzeigen lassen möchte kommt ein fehler und zwar , dass er ein datum erwartet aber einen widestring findet . ich denk mal das hängt mit den nullen zusammen.
wie kann ich das umgehen oder abändern, dass statt den nullen einfach leere felder an den stellen dann jeweils angezeigt werden ?!

thx 4 help

mfg

stoni
Carsten
  Mit Zitat antworten Zitat
rochus

Registriert seit: 23. Dez 2004
Ort: Dornstadt
30 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: nullen ersetzen in sql abfrage

  Alt 10. Jan 2005, 11:07
probier mal die methoden "OnGetText". Weiß nicht genau, ob dir das hilft, könnte aber sein.

mfg
rochus
Nicolai Waniek
  Mit Zitat antworten Zitat
Benutzerbild von DiscMix
DiscMix

Registriert seit: 9. Jan 2004
Ort: Hamburg
52 Beiträge
 
#3

Re: nullen ersetzen in sql abfrage

  Alt 10. Jan 2005, 11:10
kannst du mal bitte deine abfrage posten, evtl. gibts dann mehr tips.
Gruss
Marco
  Mit Zitat antworten Zitat
Hasse

Registriert seit: 24. Sep 2004
Ort: Bad Kösen
35 Beiträge
 
Delphi 7 Professional
 
#4

Re: nullen ersetzen in sql abfrage

  Alt 10. Jan 2005, 11:10
Moin,

wie wärs mit einem anderen Platzhalter z.B '' as Spalte. Ich nutze das teilweise in Access.
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#5

Re: nullen ersetzen in sql abfrage

  Alt 10. Jan 2005, 11:23
Die SQL Abfrage und das verwendete Datenbanksystem (MSSQL, Access, MySQL...) wären echt hilfreich.
Da einige SQL Befehle nur auf bestimmten SQL Servern laufen und auf anderen nicht.


Ich denke mal das deine Anfrage etwa so aussieht..

SQL-Code:
SELECT ID,Name,Vorname, Email, Eintrittsdatum FROM Personal
UNION ALL
SELECT ID,Name,Vorname, Email, '0as Eintrittsdatum FROM Adressen
Du solltest die virtuelle Spalte entweder als NULL as 'Eintrittsdatum' bzw.
als "richtigen Datumswert" as "Eintrittsdatum" erstellen.

Dein Grid sollte die Variante mit dem NULL akteptieren.

  Mit Zitat antworten Zitat
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#6

Re: nullen ersetzen in sql abfrage

  Alt 10. Jan 2005, 12:03
ok also hier mal der quellcode von der selectabfrage :
so habe ich es jetzt :

Delphi-Quellcode:
with ADODSMahnwesen do begin
        Active:= False;
        sqlstrmahn:= 'SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, '
                   + 'auftrag.Artikelbezeichnung, auftrag.Ausgangsdatum, auftrag.Beschaedigung1, 0 AS auftrag.Rep_zurueck_datum, '
                   + 'auftrag.Kudienst_mahn1, auftrag.KZ_Status, 0 AS auftrag.Kudienst_mahn2, 0 AS auftrag.Kundeninfo1 '
                   + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark '
                   + 'WHERE (((auftrag.Ausgangsdatum)<(Date()-10)) AND ((auftrag.Kudienst_mahn1) Is Null) '
                   + 'AND ((auftrag.KZ_Status)="Ware in Reparatur" Or (auftrag.KZ_Status)="Ware für Kostenvoranschlag an Kundendienst")) '
                   + 'UNION SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, '
                   + 'auftrag.Artikelbezeichnung, auftrag.Ausgangsdatum, auftrag.Beschaedigung1, 0 AS auftrag.Rep_zurueck_datum, '
                   + 'auftrag.Kudienst_mahn1, auftrag.KZ_Status, auftrag.Kudienst_mahn2, 0 AS auftrag.Kundeninfo1 '
                   + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark '
                   + 'WHERE (((auftrag.Kudienst_mahn1)<(Date()-10)) AND ((auftrag.KZ_Status)="Ware in Reparatur" '
                   + 'Or (auftrag.KZ_Status)="Ware für Kostenvoranschlag an Kundendienst") AND ((auftrag.Kudienst_mahn2) Is Null)) '
                   + 'UNION SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, '
                   + 'auftrag.Artikelbezeichnung, 0 AS auftrag.Ausgangsdatum, auftrag.Beschaedigung1, auftrag.Rep_zurueck_datum, '
                   + '0 AS auftrag.Kudienst_mahn1, auftrag.KZ_Status, 0 AS auftrag.Kudienst_mahn2, auftrag.Kundeninfo1 '
                   + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark '
                   + 'WHERE (((auftrag.Rep_zurueck_datum)<(Date()-10)) AND ((auftrag.KZ_Status)="Ware an Lager") AND ((auftrag.Kundeninfo1) Is Null));';
        CommandText := sqlstrmahn;
        Active:= True;
ich hoffe ihr könnt damit was anfangen

@ jensw_2000 : ist eine access db


so hatte ich es vorher :
Delphi-Quellcode:
       sqlstrmahn:= 'SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, '
                   + 'auftrag.Artikelbezeichnung, auftrag.Ausgangsdatum, auftrag.Beschaedigung1, 0 AS Ausdr1, '
                   + 'auftrag.Kudienst_mahn1, auftrag.KZ_Status, 0 AS Ausdr2, 0 AS Ausdr3 '
                   + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark '
                   + 'WHERE (((auftrag.Ausgangsdatum)<(Date()-10)) AND ((auftrag.Kudienst_mahn1) Is Null) '
                   + 'AND ((auftrag.KZ_Status)="Ware in Reparatur" Or (auftrag.KZ_Status)="Ware für Kostenvoranschlag an Kundendienst")) '
                   + 'UNION SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, '
                   + 'auftrag.Artikelbezeichnung, auftrag.Ausgangsdatum, auftrag.Beschaedigung1, 0 AS Ausdr1, '
                   + 'auftrag.Kudienst_mahn1, auftrag.KZ_Status, auftrag.Kudienst_mahn2, 0 AS Ausdr2 '
                   + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark '
                   + 'WHERE (((auftrag.Kudienst_mahn1)<(Date()-10)) AND ((auftrag.KZ_Status)="Ware in Reparatur" '
                   + 'Or (auftrag.KZ_Status)="Ware für Kostenvoranschlag an Kundendienst") AND ((auftrag.Kudienst_mahn2) Is Null)) '
                   + 'UNION SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, '
                   + 'auftrag.Artikelbezeichnung, 0 AS Ausdr1, auftrag.Beschaedigung1, auftrag.Rep_zurueck_datum, '
                   + '0 AS Ausdr2, auftrag.KZ_Status, 0 AS Ausdr3, auftrag.Kundeninfo1 '
                   + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark '
                   + 'WHERE (((auftrag.Rep_zurueck_datum)<(Date()-10)) AND ((auftrag.KZ_Status)="Ware an Lager") AND ((auftrag.Kundeninfo1) Is Null));';
Carsten
  Mit Zitat antworten Zitat
Hasse

Registriert seit: 24. Sep 2004
Ort: Bad Kösen
35 Beiträge
 
Delphi 7 Professional
 
#7

Re: nullen ersetzen in sql abfrage

  Alt 10. Jan 2005, 12:11
Dann sollte NULL as Ausdruck gehen
  Mit Zitat antworten Zitat
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#8

Re: nullen ersetzen in sql abfrage

  Alt 10. Jan 2005, 12:15
leider nein

fehler zitat :
die selcet anweisung schliesst ein reserviertes wort oder einen argumentnamen ein, das/der falsch, mit falscher zeichensetzung oder überhaupt nicht eingegeben wurde.
Carsten
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#9

Re: nullen ersetzen in sql abfrage

  Alt 10. Jan 2005, 12:25
Code:
 0 AS auftrag.Ausgangsdatum
Das geht so nicht.
Ausgangsdatum ist in diesen fall eine "virtuelle" Spalte

Da musst du den Tabellenverweis weglassen.

Wenn Access ...
Code:
NULL AS Ausgangsdatum
... nicht akzeptiert dann versuche es mal bitte mit


Code:
 '' AS Ausgangsdatum

  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#10

Re: nullen ersetzen in sql abfrage

  Alt 10. Jan 2005, 12:27
aus, Schluß ...


SQL-Code:
NULL AS 'Ausgangsdatum'

oder

'AS 'Ausgangsdatum'
so muß das ...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 07:57 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