AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Default Wert bei Datenbankfeld | Datentyp Boolean | Firebird
Thema durchsuchen
Ansicht
Themen-Optionen

Default Wert bei Datenbankfeld | Datentyp Boolean | Firebird

Ein Thema von f4k3 · begonnen am 10. Jun 2009 · letzter Beitrag vom 10. Jun 2009
Antwort Antwort
Benutzerbild von f4k3
f4k3

Registriert seit: 15. Aug 2007
Ort: Nürnberg
313 Beiträge
 
Delphi 2007 Architect
 
#1

Default Wert bei Datenbankfeld | Datentyp Boolean | Firebird

  Alt 10. Jun 2009, 12:23
Datenbank: Firebird • Version: 2.1 • Zugriff über: IBExpert Personal
Moin Moin liebe DPler

-------------------------------------------------------------------------------------------------------------------------

Frage: Default Wert bei Datenbankfeld

Und zwar gibts bei Database Workbench 3 Lite for Firebird die Möglichkeit einem Feld einen "DEFAULT"-Wert zuzuweisen wenn
bei INSERT oder UPDATE der Wert des Feldes nicht übergeben wurde.

Mögliche Werte sind ...
  • CURRENT_CONNECTION
  • CURRENT_DATE
  • CURRENT_ROLE
  • CURRENT_TIME
  • CURRENT_TIMESTAMP
  • CURRENT_TRANSACTION
  • CURRENT_USER
  • NOW
  • NULL
  • TODAY
  • TOMORROW
  • USER
  • YESTERDAY

Jetzt arbeit ich aber grad mit IBExpert und da gibts einen Punkt DEFAULT SOURCE ...
nun meine Frage ob ich die aufgelisteten Werte der DEFAULT SOURCE zuweisen kann oder gibt
es eine andere Möglichkeit?

-------------------------------------------------------------------------------------------------------------------------

Frage: Datentyp Boolean bei Firebird

Ich hab ja in IBExpert die Möglichkeit Checks zu definieren ...
da es bei Firebird keinen Boolean Datentyp gibt hab ich die frage, ob es eventuell möglich ist mit einem Check zu überprüfen
ob der übergebene Wert 'False' oder 'True' für das angegebene Feld ist ...

Das Feld soll dann eben vom Typ 'Varchar(5)' sein ...

Nur hab ich keine Ahnung was als Parameter oder P-SQL da einzutragen ist ... sprich ich hab keine Ahnung von der Syntax

Aber ich schätze mal dass es ein paar leudchen gibt, die vor dem gleichen Problem waren oder einen Ideenanstoss hätten


Vielen Dank für eure Posts

Euer f4k3
Sascha
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Default Wert bei Datenbankfeld | Datentyp Boolean | Fire

  Alt 10. Jun 2009, 12:26
Ein Byte oder ein Char sollte reichen
Im ersten Fall wäre default 0 oder ein (je nach dem ob True oder False Standard sein soll) im zweiten 'T' oder 'F'
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Default Wert bei Datenbankfeld | Datentyp Boolean | Fire

  Alt 10. Jun 2009, 12:28
Oder man erstellt sich eine Domäne (ob die nun VARCHAR oder SMALLINT ist, muss man selbst entscheiden).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von f4k3
f4k3

Registriert seit: 15. Aug 2007
Ort: Nürnberg
313 Beiträge
 
Delphi 2007 Architect
 
#4

Re: Default Wert bei Datenbankfeld | Datentyp Boolean | Fire

  Alt 10. Jun 2009, 12:44
Zitat von mkinzler:
Ein Byte oder ein Char sollte reichen
Im ersten Fall wäre default 0 oder ein (je nach dem ob True oder False Standard sein soll) im zweiten 'T' oder 'F'
mhm ... dass wär jetzt aber eine Variante mit einer DEFAULT SOURCE wenn ichs richtige verstehe oder?
Also eigentlich keine Überprüfung welcher Wert übergeben wurde?

Ich steh nämlich vor dem Problem ... wenn der Admin der Anwendung die Benutzerrechte
festlegt ... gibts ne Reihe von Checkboxen die quasi die Rechte visualisieren.

Wenn ich nun ein INSERT oder UPDATE Statement ausführe und als "Wert" im Statement "chbAdmin.Checked" übergebe ... indem
steht ja der boolsche Wert "True"/"False" ... und wenn dieser Fall eintritt dass so ein Wert übergeben wird ...
dass ich dann quasi auf Seite der Datenbank prüfe welcher Wert übergeben wurde und dann ein Byte 0 oder 1 (bzw. Char 'F' oder 'T') ins Feld eintrage ...

Dass wär zumindest für mich programmiertechnisch schön ... weil sonst müsste ich wenn ich das Statement zur Laufzeit einem TZQuery zuweise ... vorher abprüfen ob die 25 Checkboxen .Checked sind und je nachdem dass ins Statement einbauen ... find
ich ein wenig fummelig ...
Sascha
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Default Wert bei Datenbankfeld | Datentyp Boolean | Fire

  Alt 10. Jun 2009, 12:58
Zitat:
mhm ... dass wär jetzt aber eine Variante mit einer DEFAULT SOURCE wenn ichs richtige verstehe oder?
Nein direkt als Wert
Du kannst bei den CheckDBBoxen den Wert für wahr oder falsch setzen (.ValueChecked / .ValueUnchecked)
Markus Kinzler
  Mit Zitat antworten Zitat
borwin

Registriert seit: 14. Sep 2006
Ort: Rostock
72 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Default Wert bei Datenbankfeld | Datentyp Boolean | Fire

  Alt 10. Jun 2009, 13:11
Ich habe mir für solche Fälle eine eigene Domain erstellt.

SQL-Code:
CREATE DOMAIN DBOOLEAN AS
SMALLINT
DEFAULT 0
CHECK (VALUE IN (0,1));
Die entsprechenden Felder in meiner Tabelle bekommen dann die Domain zugewiesen. So ist dann sichergestellt das nur 0, 1 oder auch ggf. NULL drinsteht.
Das mußt Du für Deine Gegebenheiten anpassen.

Gruß Hartmuth
  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 16:09 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