Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Noten speichern in mysql (https://www.delphipraxis.net/105193-noten-speichern-mysql.html)

freak4fun 17. Dez 2007 21:07

Datenbank: mysql • Version: 5.x • Zugriff über: ODBC (glaub ich)

Noten speichern in mysql
 
Hallo,
ich möchte bei einer Buchbewertung das Buch nach Schulnoten bewerten können. Dazu hab ich ein Integer-Feld. Wenn ich die Zahlen 1-6 speichern will funktioniert alles, aber wenn ich nichts eintrage, wird der Datensatz nicht eingefügt. Was kann ich da machen? Bin in Sachen Datenbanken nicht so fit.

MfG
freak

mschaefer 17. Dez 2007 21:11

Re: Noten speichern in mysql
 
'Nichts' können üblicherweise nur Statistiksysteme speichern und dazu zählt MySQL definitiv nicht. also trag 0 ein. // Grüße

vlees91 17. Dez 2007 21:13

Re: Noten speichern in mysql
 
es gibt ja den NULL flag
Aber der wird normalerweise automatisch eingetragen glaube ich, also evtl hat die Tabelle bei der Spalte NOT NULL drin stehen.

DeddyH 17. Dez 2007 21:17

Re: Noten speichern in mysql
 
Es gibt aber auch noch einen Default-Wert (z.B. über phpMyAdmin einzutragen). Gib hier einfach 0 ein.

freak4fun 17. Dez 2007 21:18

Re: Noten speichern in mysql
 
Wenn ich da 0 reinschreibe muss ich mich da ja selbst im Code darum kümmern. :(

Mit NULL hab ich auch schon experimentiert. Aber da komme ich nicht weiter, da ich ja ... buch_note = $note ... setze. Dann steht ja in $note irgendwas drin, auch wenn ich nichts eingetragen hab, glaub ich. :gruebel:

Könnte das mit NULL irgendwie gehen? :stupid:

Wenn ich da als default 0 rein schreibe hab ich das gleiche Problem.

DeddyH 17. Dez 2007 21:20

Re: Noten speichern in mysql
 
Moment, soll das ein Pflichtfeld sein? Dann musst Du es als NOT NULL definieren (einen Standardwert kannst Du ja trotzdem vergeben, hier vielleicht ganz hart die 6).

vlees91 17. Dez 2007 21:21

Re: Noten speichern in mysql
 
Zitat:

Zitat von DeddyH
Moment, soll das ein Pflichtfeld sein? Dann musst Du es als NOT NULL definieren (einen Standardwert kannst Du ja trotzdem vergeben, hier vielleicht ganz hart die 6).

Oder wie man sich bei Microsoft beim MediaPlayer dachte: unrated Musik hat immer 3von 5 Sternen! :wall:

DeddyH 17. Dez 2007 21:22

Re: Noten speichern in mysql
 
Na, was würdest Du denn vergeben? Nicht bewertet = 1?

vlees91 17. Dez 2007 21:33


freak4fun 17. Dez 2007 21:43

Re: Noten speichern in mysql
 
Wenn es ein Pflichtfeld wäre hätte ich das Problem nicht.

Namenloser 17. Dez 2007 21:47

Re: Noten speichern in mysql
 
Was spricht dagegen statt "nix" irgendeine Zahl einzugeben, die keine Schulnote ist? Z.B. 7? Oder -1...

freak4fun 17. Dez 2007 21:52

Re: Noten speichern in mysql
 
Zitat:

Zitat von NamenLozer
Was spricht dagegen statt "nix" irgendeine Zahl einzugeben, die keine Schulnote ist? Z.B. 7? Oder -1...

Dagegen spricht, das ich mich im Code um etwas kümmern muss, statt es der DB zu überlassen. ;) Das geht mir schon bei paar anderen Sachen so.

freak4fun 19. Dez 2007 07:27

Re: Noten speichern in mysql
 
Mein Problem ist immer noch nicht gelöst. Gibt es da vielleicht noch andere Wege?

mkinzler 19. Dez 2007 07:31

Re: Noten speichern in mysql
 
Wieviel Lösungen brauchst du noch?
-NULLs erlauben
-Defaultwert 0, -1 , 7 , ...
-Trigger
-eigenen Feldtyp der nix kann
-...

freak4fun 19. Dez 2007 07:42

Re: Noten speichern in mysql
 
Zitat:

Zitat von mkinzler
Wieviel Lösungen brauchst du noch?
-NULLs erlauben

Geht nicht. Welchen Wert muss ich da an die DB übergeben? :wall:

Zitat:

Zitat von mkinzler
-Defaultwert 0, -1 , 7 , ...

Läuft darauf hinaus, das ich mich selbst um das Feld kümmern muss, was ich vermeiden möchte. :(

Zitat:

Zitat von mkinzler
-Trigger

Was ist das? Schau ich mir mal an. :roll:

Zitat:

Zitat von mkinzler
-eigenen Feldtyp der nix kann

Stimmt, das wäre auch noch ne Lösung. :pale:

Danke! :thumb:

mkinzler 19. Dez 2007 08:02

Re: Noten speichern in mysql
 
Zitat:

Zitat von freak4fun
Zitat:

Zitat von mkinzler
Wieviel Lösungen brauchst du noch?
-NULLs erlauben

Geht nicht. Welchen Wert muss ich da an die DB übergeben? :wall:

Keinen
Zitat:

Zitat:

Zitat von mkinzler
-Defaultwert 0, -1 , 7 , ...

Läuft darauf hinaus, das ich mich selbst um das Feld kümmern muss, was ich vermeiden möchte. :(
Nein, gibt man beim Erstellen des Feldes an oder später (ALTER ...)
Zitat:

Zitat:

Zitat von mkinzler
-Trigger

Was ist das? Schau ich mir mal an. :roll:
Codestücke, welche automatisch bei bestimmten Ereignissen "getriggert" werden.
Zitat:

Zitat:

Zitat von mkinzler
-eigenen Feldtyp der nix kann

Stimmt, das wäre auch noch ne Lösung. :pale:

Danke! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 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 by Thomas Breitkreuz