AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Datenerfassung mit Firebird Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Datenerfassung mit Firebird Datenbank

Ein Thema von Jens Hartmann · begonnen am 24. Feb 2009 · letzter Beitrag vom 27. Feb 2009
Antwort Antwort
Seite 3 von 12     123 45     Letzte »    
mkinzler
(Moderator)

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

Re: Datenerfassung mit Firebird Datenbank

  Alt 24. Feb 2009, 23:02
Ja. hierfür gibt es auch Kontextvariablen ( CURRENT_DATE, CURRENT_TIMESTAMP, ...)
Auf ein Ereignis kann man auch mehrere Trigger binden, deren Reihenfolge man dann mit POSITION setzen kann
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: Datenerfassung mit Firebird Datenbank

  Alt 24. Feb 2009, 23:04
Hallo Jens Hartmann,

beim Datum ist es noch einfacher. Du hast die Möglichkeit unter dem Feld für das Datum/Uhrzeit einfach als Default ‚NOW’ eingeben und schon wird das Datum/Uhrzeit in den Datensatz reingeschrieben.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#23

Re: Datenerfassung mit Firebird Datenbank

  Alt 24. Feb 2009, 23:18
Also, wenn ich das jetzt so richtig gemacht habe, dann sieht das ganze jetzt in etwa so aus
Miniaturansicht angehängter Grafiken
datenbank_198.gif  
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#24

Re: Datenerfassung mit Firebird Datenbank

  Alt 24. Feb 2009, 23:27
Hallo Jens Hartmann,

ich habe zuvor die Domänen angelegt. Warum ist der Bereich als Char und nicht als VarChar deklariert?

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#25

Re: Datenerfassung mit Firebird Datenbank

  Alt 24. Feb 2009, 23:33
Bereich habe ich schon umgeändert in VARCHAR.
und wenn das OK ist, habe ich auch Datum und Uhrzeit in zwei Spalten geteilt und beide auf 'NOW' gesetzt.
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#26

Re: Datenerfassung mit Firebird Datenbank

  Alt 24. Feb 2009, 23:33
Da haue ich schnelle eine Zwischenfrage rein:

Ist Char(n) nicht schneller als VarChar(n) und bei weitgehend gleich breiten Zeichenketten besser?
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#27

Re: Datenerfassung mit Firebird Datenbank

  Alt 24. Feb 2009, 23:42
Das mit der Domain, wenn ich es verstanden habe, wird genutzt um später verschiedenen Spalten, die die selbe Charaktaristik haben, die gleiche Domain zu geben, um es einfacher zu haben die Eigenschaften der Spalten zuzuweisen.

Zitat:
Zitat:
Da haue ich schnelle eine Zwischenfrage rein:

Ist Char(n) nicht schneller als VarChar(n) und bei weitgehend gleich breiten Zeichenketten besser?
Also, das mit Char und VarChar habe ich so verstanden, und steht so in der Doku

In der Praxis sollten Sie eine Regel beachten: verwenden Sie nur CHARs, wenn Strings mit wenigen Zeichen gespeichert werden sollen; die Ausnahme der Regel ist, wenn Sie mit Zwischentabellen arbeiten, die für den Datenexport von prn-Dateien mit festen Längen benötigt werden. Dann sind Felder mit festen Längen von Vorteil.

Tatsächlich benötigen VARCHAR-Spalten mehr Speicherplatz als CHAR-Spalten, da bei der Speicherng eines VARCHARs, InterBase/Firebird zwei Bytes hinzufügt, die anzeigen, wie groß der VARCHAR tatsächlich ist.

ALso wird ein CHAR tatsächlich mit weniger Paltzbedarf gespeichert. Wenn jedoch ein SELECT auf einer VARCHAR-Spalte erfolgt,schneidet InterBase/Firebird das 2-Byte-Polster ab und speichert den Wert. Wenn ein SELECT auf eine CHAR-Spalte erfolgt, gibt InterBase/Firebird den Wert und die "Leerzeichen" zurück. Also muss die Speicherung der zwei Bytes in einem CHAR gegen die nachträgliche Entfernung der Leerzeichen auf der Clientseite abgewogen werden. Diese beiden Bytes sind jedoch bei der heutigen Hardware so vernachlässigbar, dass sie keinen Einfluss auf die Datenbankgeschwindigkeit haben. Dies kann jedoch nachteilig bei der Definition von kurzen Textfeldern sein.
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#28

Re: Datenerfassung mit Firebird Datenbank

  Alt 24. Feb 2009, 23:50
Jetzt ist mir aber gerade nochwas aufgefallen, wenn ich jetzt Datum und Uhrzeit durch die Datenbank eintragen lasse, habe ich doch ein Problem, wenn mal die Datenverbindung zur Einbruchmeldeanlage (EMA) gestört ist.

Die EMA hat einen gewissen Datenpuffer, der dem Drucker zugeordnet ist, diesen kann ich auch nicht beeinflussen, das heißt, ist die Datenverbindung gestört, und wird zu einem späteren Zeitpunkt wieder Instandgesetzt, werden aber die noch im Puffer vorhandenen Daten ausgegeben.

Dies müsste ja dann automatisch zur Folge haben, das diese mit einem falschen Time/Date Format in die Datenbank eingetragen werden, und somit meine Ereigisse durcheinander sind.

Oder habe ich jetzt einen Denkfehler
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#29

Re: Datenerfassung mit Firebird Datenbank

  Alt 24. Feb 2009, 23:55
Hallo Jens Hartmann,

Zitat von Jens Hartmann:
Das mit der Domain, wenn ich es verstanden habe, wird genutzt um später verschiedenen Spalten, die die selbe Charaktaristik haben, die gleiche Domain zu geben, um es einfacher zu haben die Eigenschaften der Spalten zuzuweisen.
Genau. Das erleichtert das Arbeiten z.B. beim Ändern der Datengröße z.B. hast Du 2 Felder mit VarChar 50 wenn Du Sie jetzt auf 60 ändern muss, dann ist nur eine Änderung an der Domain erforderlich. Da Du wahrscheinlich nur mit einer Tabelle arbeitest ist das aber zu vernachlässigen.
Wenn Du aber ein Warenwirtschaftssystem hast kann das schon eine Menge arbeit machen und ist Fehler anfällig.


Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#30

Re: Datenerfassung mit Firebird Datenbank

  Alt 25. Feb 2009, 00:02
Hallo Jens Hartmann,

Zitat von Jens Hartmann:
Oder habe ich jetzt einen Denkfehler
Wenn das Datum und die Uhrzeit von der EMA geliefert wird, dann benutze das und schreibe es in die Datenbank.
Da hatte ich wohl ein Denkfehler, ich bin davon ausgegangen das Dein Programm das Datum/Uhrzeit für den Datensatz generiert.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 12     123 45     Letzte »    


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 21:08 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