AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Required-Property eines Fields in TClientDataSet ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Required-Property eines Fields in TClientDataSet ändern

Ein Thema von TheFrog · begonnen am 29. Apr 2009 · letzter Beitrag vom 29. Apr 2009
Antwort Antwort
TheFrog

Registriert seit: 24. Mär 2009
145 Beiträge
 
Delphi 11 Alexandria
 
#1

Required-Property eines Fields in TClientDataSet ändern

  Alt 29. Apr 2009, 10:02
Datenbank: Firebird embedded • Version: 1.5 • Zugriff über: IBX-Komponenten
Ich ermittle aus zwei Tabellen über einen Join eine Datenmenge und weise diese einem ClientDataSet zu.

In einer Tabelle existiert ein Feld mit der Eigenschaft NOT NULL. Im ClientdataSet wird jetzt logischerweise die Property Required des entsprechenden Felds auf True gesetzt.

Nun zum Problem:

In der Datenbank steht in dem Feld ein Leerstring, also eigentlich <> NULL. Wenn ich im ClientDataSet nun irgendeinen Wert ändere und ein Post aufrufe, so erhalte ich eine Fehlermeldung "Field value required". Auch klar, weil ich für das NOT NULL-Feld einen Wert brauche.

Nun dachte ich, ich kann nachträglich die Eigenschaft Required des Feldes auf False setzen, aber irgendwie wird die Änderung nicht beachtet, d.h. ich erhalte auch nach dem setzen der Property Required := False noch den Fehler.

Frage:
Warum wird ein Leerstring im Dataset als NULL interpretiert?

.. und noch wichtiger: Wie kann ich die Required-Eigenschaft setzen?

Merci, Hans.
  Mit Zitat antworten Zitat
TheFrog

Registriert seit: 24. Mär 2009
145 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Required-Property eines Fields in TClientDataSet ändern

  Alt 29. Apr 2009, 12:59
Ich habe nochmals nachgedacht:

Ich denke es ist doch so, dass ich die Required-Property des ClientDataSets gar nicht ändern darf, solange dieses mit dem DataSetProvider verknüpft ist. Würde hier die Struktur der Daten geändert, so kommt es evtl. beim Zurückschreiben der Daten zu Konsistenzproblemen.

Meine Vorgehensweise war jetzt, die Struktur das Source-DataSets im ClientDataSet zu übernehmen und die Daten manuell umzuschaufeln. Bei der Erstellung der Struktur bin ich so vorgegangen, dass alle Felder Required := False gesetzt wurden. Da ich die Daten nicht mehr in die DB zurückschreibe, reicht mit die Lösung aus.

Würde mich nur noch interessieren, ob ich mit meinen Gedanken richtig bin, oder ganz daneben liege.

Hans.
  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 22:17 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