Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbank Programm (https://www.delphipraxis.net/19552-datenbank-programm.html)

xavior 5. Apr 2004 13:02


Datenbank Programm
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute!

Bei uns an der Schule läuft gerade ein Projekt bei dem es um eine Datenbank geht in die Betriebe eingetragen werden in denen man Praktikum machen kann. Ich hab schon angefangen an diesem Programm zu bastelln und dabei ist das hier rausgekommen:

(Ich wäre froh wenn ihr mir ein paar vorschläge machen würdet, wie ich mein Programm noch efizienter gestallten/programmieren könnte!)

Plague 5. Apr 2004 13:30

Re: Datenbank Programm
 
Sorry Xavior,

dein Programm funktioniert nicht. Du hast die benötigten *.dll Dateien nicht mitgeliefert. Kann dir daher leider keine Meinung zu dem Programm sagen.

Gruß
Thomas

xavior 5. Apr 2004 16:24

Re: Datenbank Programm
 
Welche DLL-Dateien fehlen den? Achja ich hab vergessen zu erwähnen das man InterBase braucht!

DelphiDeveloper 5. Apr 2004 17:39

Re: Datenbank Programm
 
ich habe mir mal deine db angeschaut und das ist einfach nicht zu
gebrauchen. Hat euer Lehrer euch denn da nichts beigebracht?

Was mir aufgefallen ist, und was man NIE so machen würde:

1) PLZ Datentyp Float. Ist Ostdeutschland gibt es PLZ mit beginnender 0
2) PK's als Float
3) TelNr Datentyp DOUBLE PRECISION macht man immer varchar
4) Bei deinen Boolean Felder wie AUFNAHMEBEREITSCHAFT
verwendet man besser einen Datentyp wie
CREATE DOMAIN DOM_BOOL_FALSE AS
CHAR(1) CHARACTER SET ISO8859_1
DEFAULT 'F'
CHECK (VALUE IN ( 'F', 'T'))
COLLATE DE_DE
5) weil du bei den varchar nicht das richtige characterset eingestellt hast,
kannst du keine umlaute verwenden. verwende iso8859_1
6) keine Generatoren?
wie willst du sicherstellen bei einem insert das der Primarykey richtig gesetzt wird.

Ich glaube die Datenbank solltet ihr nochmal neu machen.

Hansa 5. Apr 2004 18:23

Re: Datenbank Programm
 
Weil das Pulldown-Menü nicht funktioniert kann man kaum was machen. Was soll da getestet werden ? Zur Datenbank (DelphiDeveloper hat das meiste bereits gesagt) habe ich noch folgendes festgestellt :

1. Primary Key nicht nur Float, sondern auch VARCHAR oder einfach nicht vorhanden.
2. ein foreign Key ist INTEG_31, das Feld der Haupttabelle aber VarChar.
3. bei PLZ und sogar Jahr wird Float verwendet, warum ?
4. Sind die Zeilen in der Combobox überhaupt aus der DB ?

Was soll man da sagen ? Ich würde zuerst mal die Datentypen bereinigen. Für Jahr reicht z.B. smallint. Und dann würde ich mal vernünftige Bezeichner verwenden. Warum heißt ein FK "PRAKTIKUMSBETRIEB" ? Bei so einem langen Wort muß man schon geringe Phantasie aufwenden, daß es sich um die Tabelle "BETRIEB" handelt. FK_BETRIEB wäre klar gewesen.

r_kerber 5. Apr 2004 18:52

Re: Datenbank Programm
 
BTW: Ich kann kein rar! Ich denke mal Zip ist wohl der Standard für Komprimierung!

xavior 6. Apr 2004 07:35

Re: Datenbank Programm
 
@r_kerber: Das höre ich ja das erste mal das "ZIP" = "Der Standard" ist, von welchem Planeten kommst du?

xavior 6. Apr 2004 07:39

Re: Datenbank Programm
 
Bei der Tabelle Standort hab ich ja PLZ als PK und zwar so:

SQL-Code:
CREATE TABLE Standort (PLZ Float(5) NOT NULL,
                       Ort Varchar(25),
                       CONSTRAINT PLZ_pk PRIMARY KEY(PLZ));
Jetzt meintet ihr, dass ich PLZ Float(5) nach PLZ Varchar(5) ändere und das NOT NULL entferne! Aber bei einem PrimaryKey muss doch unter InterBase (SQL) der PrimaryKey NOT NULL sein, oder nicht!?

r_kerber 6. Apr 2004 07:46

Re: Datenbank Programm
 
Zitat:

Zitat von xavior
von welchem Planeten kommst du?

Vom Planeten Erde (aka Terra aka Larsaf III)! [OT]zip ist der defacto-Standard, weil überall verfügbar. In WinXP sogar ohne Zusatzprogramm![/=T]

xavior 6. Apr 2004 07:50

Re: Datenbank Programm
 
Das heißt nicht direkt das es der Standard ist! Und wenn man schon Packer bei sich installiert hatt dann sollte man doch bitte nicht denken, das diese direkt zum standard werden und alle das haben müssen (Natürlich hab ich auch ZIP). Man sollte sich noch andere Packer installieren (7-zip, ACE, RAR, ZIP, UHARC).

xavior 6. Apr 2004 07:51

Re: Datenbank Programm
 
Aber ich will mich ja nicht streiten und änder das mal einfach!

MrSpock 6. Apr 2004 08:19

Re: Datenbank Programm
 
Hallo xavior,

ich denke r_kerber kommt von der Erde :mrgreen: , aber ZIP Files sind ja sogar auf dem Vulkan Standard 8) . Aber auch ich will mich nicht streiten.

xavior 6. Apr 2004 08:19

Re: Datenbank Programm
 
Also ich hab das jetzt mit den Nullen bei PLZ hingekrigt! Jetzt hab ich das Problem mir der Formatierung (ü, ö, ä),. Irgendwie klappt das nicht. Immer wenn ich eine Standt wie z.B.: "Tütlingen" eingebe, dann mekert der: "arithmetic exception, numeric overflow, or string truncation Cannot transliterate character between character sets."

SQL-Code:
CREATE TABLE Standort (PLZ Varchar(5) NOT NULL,
                       Ort Varchar(25) CHARACTER SET ISO8859_1,
                       CONSTRAINT PLZ_pk PRIMARY KEY(PLZ));

MrSpock 6. Apr 2004 08:21

Re: Datenbank Programm
 
Hallo xavior,

hast du den Vorschlag von DelphiDeveloper umgesetzt?

Zitat:

5) weil du bei den varchar nicht das richtige characterset eingestellt hast,
kannst du keine umlaute verwenden. verwende iso8859_1

xavior 6. Apr 2004 08:26

Re: Datenbank Programm
 
Ja, so gesehen hab ich das gemacht!

SQL-Code:
Ort Varchar(25) CHARACTER SET ISO8859_1,

xavior 6. Apr 2004 09:02

Re: Datenbank Programm
 
Ich hab gerade nachgeguckt un gemerkt wenn man die Sachen in denen ü, ö, ä - Buchstaben vorkommen könnten, einfach so formatiert, dann get das auch ohne jeden SchnickSchnack

SQL-Code:
Ort Varchar(25),

xavior 6. Apr 2004 09:21

Re: Datenbank Programm
 
Ich glaub das hatt kein Sinn hier! Dann helf ich mir selbst!

CenBells 6. Apr 2004 10:00

Re: Datenbank Programm
 
Hallo,

willst du nun, dass man dir hilft, oder nicht? Die Leute haben hier mit unter auch noch andere Sachen zu tun, als dir auf jede Frage zu antworten. Und 20 minuten sind nun weiss gott keine zeitspanne.

Zu deinem Artihmetic problem...
Du musst in der IBDatabaseKomponente auch noch den entsprechenden Charset einstellen, ueber den Die zu griffe gesteuert werden. Sonst waere das in etwa so, als wolltest du einen Euro fuer ein brit. Pfund ausgeben. ;)
Wozu bnenoetigst du eigentlich eine Tabelle aller Standorte? Die Standorte wuerde ich einfach bei den Firmen speichern und dann mittels einem Querz ermitteln, wenn gewuenscht. (->Normalisierung) So hasst du keine Probleme mit Redundanz.
Und zuy generatoren, die solltest du wirklich immer verwenden. Schau dir mal
noch Trigger dazu an.

Gruss
Ken

Hansa 6. Apr 2004 10:03

Re: Datenbank Programm
 
Nach dem Motto : "Hilf dir selbst, dann hilft dir Gott" ? :mrgreen: Dann fange aber so ungefähr an :

SQL-Code:
SET SQL DIALECT 3;

SET NAMES ISO8859_1;

CREATE DATABASE 'C:\BETA\db\BETRIEBE.GDB'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 4096
DEFAULT CHARACTER SET ISO8859_1;
Das muß in der Datenbank stehen, nicht im Programm !

xavior 6. Apr 2004 11:37

Re: Datenbank Programm
 
@CenBells: Ja tut mir leid! 20 Minuten sind für mich aber eine lange spanne, den ich nutze jede minute sinvoll aus!

MrSpock 6. Apr 2004 12:10

Re: Datenbank Programm
 
Hallo xavior,

da du dich entschuldigt hast, möchte ich als Moderator auch nur einige Anregungen geben. Für viele unserer Mitglieder ist die Zeit sicherlich genauso wertvoll wie für dich. Viele opfern dennoch ihre Freizeit, um anderen kostenlose Hilfe zukommen zu lassen. Die Antworten sollten deshalb auch unter diesem Hintergrund gesehen werden. Jegliche Ableitung eines Anspruchs auf Antworten und zusätzlich vielleicht noch eine Zeitvorgabe ist nicht mit der Art unseres Forums in Übereinklang zu bringen. Ich bitte dich das bei weiteren Postings zu berücksichtigen.

DelphiDeveloper 6. Apr 2004 12:13

Re: Datenbank Programm
 
Zitat:

Immer wenn ich eine Standt wie z.B.: "Tütlingen" eingebe, dann mekert der: "arithmetic exception, numeric overflow, or string truncation Cannot transliterate character between character sets."
diese meldung laesst auf jeden Fall auf das falsche CharacterSet schließen. Da ich nicht weiß wie du die metadaten geaendert hast, ist es ratsam die Datenbank nach aenderung zu schließen
und dannach nochmals zu versuchen.

CenBells 6. Apr 2004 20:05

Re: Datenbank Programm
 
Der Charset muss auf jeden fall auch in der IBDatabase komponente stehen.

Gruß
Ken

tableD 6. Apr 2004 22:40

Re: Datenbank Programm
 
Zitat:

Zitat von MrSpock
Hallo xavior,

ich denke r_kerber kommt von der Erde :mrgreen: , aber ZIP Files sind ja sogar auf dem Vulkan Standard 8) . Aber auch ich will mich nicht streiten.

ZIP Files sind überhaupt nicht standart, da diese z.B. auf diversen Win 9x System nicht einfach ohne Tool geöffnet werden können. Auch gibt es spezielle unterarten und jetzt eine neue ZIP Variante, DEN STANDART für die Datenkomprimierung gibt es sowieso nicht da immer die für die spezifischen Daten am besten geeignete Routine verwendet wird,und ich finde auch das diese zur zeit RAR ist.

xavior 7. Apr 2004 08:39

Re: Datenbank Programm
 
@tableD: Dankeschön!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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