AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Leere Datenbankeinträge

Ein Thema von ngott2 · begonnen am 10. Dez 2013 · letzter Beitrag vom 10. Dez 2013
Antwort Antwort
ngott2

Registriert seit: 26. Aug 2013
81 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Leere Datenbankeinträge

  Alt 10. Dez 2013, 20:12
Datenbank: MDB • Version: Delphi xe3 • Zugriff über: OLE
Hallo liebe Community.

Ich arbeite momentan im Betrieb mit einer MDB. Nun soll ein zweites Programm ebenfalls die Datenbank verwenden. Dafür musste ich bei ein paar tabellen ein Feld hinzufügen. Diese neuen Felder sind natürlich leer. Das Problem ist das beim einlesen der Datensätze eine Fehlermeldung kommt das ein leeres Feld nicht in ein ein String umgewandelt werden kann. ( Wie die genaue Exception aussieht weiß ich jetzt gerade nicht da ich gerade nicht im Betrieb bin, aber ist die Standart Exception wenn mann nichts in ein String umwandeln will.)

Nun zur Frage. Kann mann das einlesen für dieses Feld überspringen ? Oder kann man leere Strings in die Felder reinschreiben oder noch eine andere Idee?


Danke im Voraus und Entschuldigung für meine schlechte Grammatik.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#2

AW: Leere Datenbankeinträge

  Alt 10. Dez 2013, 20:40
Die Frage ist eher erstmal, was du eigentlich machst, wie du auf die Felder zugreifst und was du eigentlich damit machst?





- du könntest ein UPDATE schreiben und die Felder füllen

- beim Auslesen prüfen ob das Feld NULL ist (Field.IsNull)

- Field.AsString wandelt doch NULL in einen Leerstring um?

- VarToStr kann man auch verwenden

- uvm.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

AW: Leere Datenbankeinträge

  Alt 10. Dez 2013, 20:44
Hallo,

bin mir nicht sicher, ob ich verstanden habe was Du sagst und ob das das ist, was Du meinst.

Wenn ich aber bei der Problemstellung (halbwegs) richtig liegen sollte, so könnte dir dieser (faule) Trick eventuell helfen:
Stringvariabel := QueryKomponente.FieldByName('SpaltenName').AsString + ''; Bei Ado und Access habe ich da schon öfter mal "seltsames" Verhalten erlebt.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Leere Datenbankeinträge

  Alt 10. Dez 2013, 21:38
Welches Programm bekommt den Probleme, das erste oder das zweite?
Das erste Programm kann eigentlich keine Probleme machen, denn es kennt die neuen Felder ja gar nicht. Ausnahme: irgendwo ist ein 'select * from'...

Egal: Abhilfen:
1. Keine neuen Felder in der DB, sondern eine Detailtabelle mit den Spalten (ID-Haupttabelle, NeueInfo). Von deinem neuen Programm aus greifst Du auf die Tabelle so zu:
Code:
select t.*, n.NeueInfo
  from Tabelle t join Details n on t.ID=n.ID
2. Fülle einen Leerstring in die neuen Felder. Tut nicht weh. Ist sowieso keine gute Idee, NULLABLE Felder zu verwenden (Performance), außer, die NULL hat eine ganz bestimmte Bedeutung.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Leere Datenbankeinträge

  Alt 10. Dez 2013, 21:42
Ist sowieso keine gute Idee, NULLABLE Felder zu verwenden (Performance), außer, die NULL hat eine ganz bestimmte Bedeutung.
Das sieht Oracle anders. Dort werden (jedenfalls kenne ich es nicht anders) alle Felder mit einem Leerstring zu einem NULL-Wert gewandelt. Ist zwar m. E. bescheuert, ist aber so.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
ngott2

Registriert seit: 26. Aug 2013
81 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: Leere Datenbankeinträge

  Alt 10. Dez 2013, 21:45
Danke für die Vorschläge. Werde ich morgen ausprobieren. Funktionieren bestimmt habe bloß nicht daran gedacht.
Falls es nicht klappen sollte frage ich einfach nochmal.

Edit.
Das erste was ich von den Tipps ausprobiert habe hat super funktioniert. (field.isNull) Danke

Geändert von ngott2 (11. Dez 2013 um 06:55 Uhr)
  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:07 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