AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Status von 12 DBCheckboxen abspeichern in einer Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Status von 12 DBCheckboxen abspeichern in einer Datenbank

Ein Thema von RWarnecke · begonnen am 28. Jun 2012 · letzter Beitrag vom 30. Jun 2012
Antwort Antwort
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Status von 12 DBCheckboxen abspeichern in einer Datenbank

  Alt 28. Jun 2012, 23:13
Das Control TDBBitwiseCheckBox kann man mit einem Integerfeld in einem Dataset verbinden und so bis zu 32 Checkboxen mit einem Feld verknüpfen.
Angehängte Dateien
Dateityp: zip DBBitwise.zip (3,7 KB, 12x aufgerufen)

Geändert von sx2008 (29. Jun 2012 um 01:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

AW: Status von 12 DBCheckboxen abspeichern in einer Datenbank

  Alt 29. Jun 2012, 06:35
Hallo zusammen,

danke für Eure Antworten. Ich habe jetzt nochmal eine Nacht drüber geschlafen und werde es jetzt folgendermaßen machen. Die Zustände der 12 DBCheckboxen werden jeweils einzeln in einem Feld in der Datenbanktabelle gespeichert. Wenn ich auf die Werte zugreifen möchte, werden diese im SQL-Befehl zu dem Ergebnis aus meinem Zitat im ersten Beitrag zusammengebaut, so das der SQL-Befehl mir ein Feld mit dem Ergebnis ausgibt und nicht 12 Felder.

Das Control TDBBitwiseCheckBox kann man mit einem Integerfeld in einem Dataset verbinden und so bis zu 32 Checkboxen mit einem Feld verknüpfen.
Ein Integerfeld gibt in einer Datenbank aber keine führenden Nullen aus oder irre ich mich da ? Oder kommt das wiederum auf den Typ Datenbank an ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Status von 12 DBCheckboxen abspeichern in einer Datenbank

  Alt 29. Jun 2012, 07:04
ist doch nur eine Frage der Darstellung
5 = 101 = 00000000000000000000000000000101 = 000000000101
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Status von 12 DBCheckboxen abspeichern in einer Datenbank

  Alt 29. Jun 2012, 07:17
Du musst ja deine 12 Monate nicht als String verpacken. So ginge es ja auch:

Delphi-Quellcode:
For Monat :=1 to 12 do
  if (1 shl Monat) and DatenbankFeldDasDieMonateAlsBitsSpeichert <> 0 then
    // Aktion für 'Monat ist angekreuzt'
  else
    // Aktion für 'Monat ist nicht angekreuzt'
Das klingt mir alles sehr nach 'von Hinten durch die Brust ins Auge'. Was willst Du denn mit den angekreuzten Monaten anfangen?

Geändert von Furtbichler (29. Jun 2012 um 07:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

AW: Status von 12 DBCheckboxen abspeichern in einer Datenbank

  Alt 29. Jun 2012, 07:30
Das klingt mir alles sehr nach 'von Hinten durch die Brust ins Auge'. Was willst Du denn mit den angekreuzten Monaten anfangen?
Ich will damit die Lohnabrechnung steuern. Es soll einfach beim Erstellen der Gehaltsabrechnungen geprüft werden, hat der Mitarbeiter diesen Monat gearbeitet oder nicht. Wenn nein (kein Haken gesetzt in der Checkbox), dann soll die Gehaltsabrechnung nicht erstellt werden. Ist der Haken gesetzt, soll die Gehaltsabrechnung erstellt werden.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.669 Beiträge
 
Delphi 12 Athens
 
#6

AW: Status von 12 DBCheckboxen abspeichern in einer Datenbank

  Alt 29. Jun 2012, 07:48
Delphi-Quellcode:
type
  TWorkMonth = (wmJanuary, wmFebruary, wmMarch, wmApril, wmMay, wmJune, wmJuly,
    wmAugust, wmSeptember, wmOctober, wmNovember, wmDecember);

function WorkedThatMonth(aMonth: TWorkMonth; aBitmask: word): Boolean;
begin
  Result := aBitmask and (1 shl Ord(aMonth)) <> 0;
end;

procedure TFormDings.ButtonBumsClick(Sender: TObject);
var
  i: integer;
begin
  for i := 1 to 12 do
    TCheckBox(FindComponent('Checkbox' + IntToStr(i))).Checked :=
      WorkedThatMonth(TWorkMonth(i - 1), 10);
end;
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 Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Status von 12 DBCheckboxen abspeichern in einer Datenbank

  Alt 29. Jun 2012, 08:40
Das schreit nach einer 1:n Struktur... (denk nur mal an die Folgejahre)
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

AW: Status von 12 DBCheckboxen abspeichern in einer Datenbank

  Alt 29. Jun 2012, 17:57
Das schreit nach einer 1:n Struktur... (denk nur mal an die Folgejahre)
Ich verstehe gerade nur Bahnhof. Wieso an die folge Jahre ? Wieso schreit das nach einer 1:n Struktur ? Habe ich da noch einen Denkfehler gemacht für die Lohnabrechung ?
Rolf Warnecke
App4Mission
  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 00:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz