AW: NULL Werte aus mySQL pro Feld entfernen
Gibt es schon, will er aber umgehen ( siehe Ursprungsfrage)
|
AW: NULL Werte aus mySQL pro Feld entfernen
Um jetzt mal auf den Ursprungsthread zu antworten :)
Zitat:
Ist das absolut unerwünscht, dann eben NULL-Werte in der Tabelle verbieten Zitat:
Zitat:
Zitat:
Zitat:
Aus den hier schon genannten Lizenzgründen würde ich an deiner Stelle Zugriffs-Komponenten verwenden, die ohne die libmysql.dll auskommen. Weiterhin würde ich für die Darstellung der Werte eine generalisierte procedures schreiben ala
Delphi-Quellcode:
Ich würde aber in den meisten Fällen ein DBGrid (gut persönlich benutze ich ein cxGrid :wink:) für die Anzeige bemühen, denn da braucht es dieses Geraffel nicht.
function FieldToStr( Field : TField ) : string;
begin if Assigned( Field ) then begin if VarIsNull( Field.Value ) then Result := '' // auch möglich Result := '(null)' else case Field.FieldType of ftInteger : Result := end; end else Result := ''; end; procedure DataSetShowInListView( DataSet : TDataSet; ListView : TListView; FieldList : array of string ); var idx : integer; valstr : string; begin for idx := Low( FieldList ) to High( FieldList ) do begin valstr := FieldToStr( DataSet.FindField( FieldList[ idx ] ) ); ... end; end; Weiterhin kann man sich auch Objekte anlegen, wo diese Daten enthalten sind und dann an die Liste übergeben (ORM). Das Objekt selber kümmert sich dann um die richtige Umwandlung der Daten
Delphi-Quellcode:
type
TAdresse = class private FVorname : Variant; function GetVorname : string; procedure SetVorname( const Value : string ); procedure SetRawVorname( const Value : Variant ); public property Vorname : string read GetVorname write SetVorname; property RawVorname : Variant read FVorname write SetRawVorname; end; function TAdresse.GetVorname : string; begin Result := VarToStrDef( FVorname, '' ); end; procedure TAdresse.SetVorname( const Value : string ); begin FVorname := Value; end; procedure TAdresse.SetRawVorname( const Value : Variant ); begin FVorname := Value; end; |
AW: NULL Werte aus mySQL pro Feld entfernen
Zitat:
Create Table ( IDKEY NUMBER ( 38 ) NOT NULL, Wert1 CHAR (1) DEFAULT '0' , Wert2 NUMBER (5,2) DEFAULT '0', ....) Ausserdem wie schon oben erwähnt NULL ist nicht Null sondern Nix! Wenn man das in Seinen Abfragen berücksichtigt ist diese Info sehr wertvoll. Gruß K-H |
AW: NULL Werte aus mySQL pro Feld entfernen
Ich bedank' mich an dieser Stelle mal für die vielen wertvollen Informationen!
Vor allem die Hinweise auf die Lizenzkosten waren wichtig, weil ich mySQL (scheinbar fälschlicherweise) für eine "Gratis-Datenbank" gehalten hätt'. Ich frage mich nur: ob das wohl alle Entwickler wissen und berücksichtigen??? Weiters nehme ich Sir Rufo's Codeschnipsel gerne mit, habe mir ferner - auch zwecks Testen - die myDAC Komponenten besorgt... Und die beiden erwähnten DBMS's... GLG, Mr. Joerginger |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 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