AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird - DBGrid - Boolean-Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird - DBGrid - Boolean-Problem

Ein Thema von trashcandesign · begonnen am 20. Jun 2006 · letzter Beitrag vom 21. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
trashcandesign

Registriert seit: 21. Feb 2006
Ort: Mühlhausen
187 Beiträge
 
Delphi XE2 Professional
 
#1

Firebird - DBGrid - Boolean-Problem

  Alt 20. Jun 2006, 15:14
Datenbank: Firebird • Version: 1.5 • Zugriff über: FBEmbedded
Hi,

Soweit ich gelesen habe gibt es bei Firebird ja keinen Typ Boolean (obwohl es nach manchen Quellen bei 1.5 diesen Typ geben soll).
Also habe ich mir Kurzerhand einfach eine eigene Domain gemacht, die nur 1 und 0 zulässt. Damit hätte ich ja eigentlich mein Problem Datenbankseitig gelöst.

Wenn ich jetzt aber die Daten aus der DB hole und sie in einem JvDBGrid anzeigen lassen will bringt er mir bei diesen Boolean-Feldern auch nur die Werte 1/0 und nicht, wie bei Boolean-Feldern aus Access gewohnt, Checkboxen.

Nur leider muss ich sowohl Firebird benutzen, als auch Checkboxen anzeigen.
Hat jemand ne Idee, wie ich das hinbekomme?

Gruß
trashcandesign
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

Re: Firebird - DBGrid - Boolean-Problem

  Alt 20. Jun 2006, 15:35
Hallo,

hier im Forum wurde schon mehrmals das Thema Checkbox in einem DBGrid anzeigen besprochen. Nutze einfach diesen Suchbegriff Hier im Forum suchenDBGrid Checkbox und Du findest ein paar Beiträge wo das Thema besprochen wird. Um dann in die Checkbox noch den Hacken zu setzen, kannst Du ja noch die folgende Funktion benutzen :

Delphi-Quellcode:
function wahrfalsch(wf : Integer):boolean
begin
  result := false;
  if wf = 1 then result := true
  else result := false;
end;
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Firebird - DBGrid - Boolean-Problem

  Alt 20. Jun 2006, 16:28
warum machst du das result 2 mal false das else brauchst du nicht.
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: Firebird - DBGrid - Boolean-Problem

  Alt 20. Jun 2006, 17:48
Wenn ich nur die IF-Abfrage in die Funktion schreibe, dann bekommt man den Hinweis von Delphi, dass der Rückgabewert nicht deklariert wurde.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Firebird - DBGrid - Boolean-Problem

  Alt 20. Jun 2006, 19:10
Zitat von RWarnecke:
..in die Funktion schreibe, dann bekommt man den Hinweis von Delphi, dass der Rückgabewert nicht deklariert wurde.
Das kommt nicht von Delphi, sondern von der DB. Meinst Du mit "Funktion" eine SP oder was ? Dann gilt : Domains vergessen !
Gruß
Hansa
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Firebird - DBGrid - Boolean-Problem

  Alt 20. Jun 2006, 19:22
Zitat von Hansa:
Zitat von RWarnecke:
..in die Funktion schreibe, dann bekommt man den Hinweis von Delphi, dass der Rückgabewert nicht deklariert wurde.
Das kommt nicht von Delphi, sondern von der DB. Meinst Du mit "Funktion" eine SP oder was ? Dann gilt : Domains vergessen !
Lol!

btw:
Zitat:
Delphi-Quellcode:
result := false;
if wf = 1 then result := true
else result := false;
Ich werde mich mal nicht an nicht existierenden Einrückungen und sonstigen Erscheinungen in dem Code aufgeilen, aber ist dir aufgefallen, dass du eigentlich nur das hier machst?
Zitat:
result := wf = 1;
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Firebird - DBGrid - Boolean-Problem

  Alt 20. Jun 2006, 19:37
Ja, man merkt den Schnellmerker ! Vor allem den, der nur Halbwissen hat ! Wo kommt der "Rückgabewert" denn her ? Das Problem liegt nicht an einer einzigen Zeile Beispiel-Code.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

Re: Firebird - DBGrid - Boolean-Problem

  Alt 20. Jun 2006, 19:39
Zitat von RWarnecke:
Delphi-Quellcode:
function wahrfalsch(wf : Integer):boolean
begin
  result := false;
  if wf = 1 then result := true
  else result := false;
end;
An diese Funktion übergebe ich nur den Wert aus dem Feld und dann funktioniert das auch. Das heißt also, ich mache nicht das

Zitat:
result := wf = 1;
In diesem Fall brauche ich keine Domain oder sonstiges.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Firebird - DBGrid - Boolean-Problem

  Alt 20. Jun 2006, 19:43
Zitat von trashcandesign:
Wenn ich jetzt aber die Daten aus der DB hole und sie in einem JvDBGrid anzeigen lassen will bringt er mir bei diesen Boolean-Feldern auch nur die Werte 1/0 und nicht, wie bei Boolean-Feldern aus Access gewohnt, Checkboxen.
Na dann hast Du ja mal schon ein geeignetes Grid gefunden. Jetzt musst Du deinem Delphi nur noch den Datentyp TBooleanField unterjubeln... Dazu kannst Du ein CalculatedField definieren, das im Endeffekt im OnCalculate Ereigneis deines TDataset nichts anderes macht, als den Wert aus deiner True/False Funktion zu setzen:

Dataset.FieldByName('BoolFeld').AsBoolean := Dataset.FieldByName('IntFeld').AsInteger = 1 ;
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Firebird - DBGrid - Boolean-Problem

  Alt 20. Jun 2006, 19:44
Zitat von RWarnecke:
An diese Funktion übergebe ich nur den Wert aus dem Feld und dann funktioniert das auch. Das heißt also, ich mache nicht das
Zitat:
result := wf = 1;
wf war doch der Parameter deiner Funktion. Und du machst
Zitat:
genau
das.
Zitat:
In diesem Fall brauche ich keine Domain oder sonstiges.
Eine Domain kann dir aber bei der Entscheidung helfen, ob die CheckBoxes im Grid darstellen willst oder nicht. Auch wenn das Grid es vllt nicht von alleine weiß.
Ich finde Domains eigentlich ziemlich praktisch und cool.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:47 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