Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

zoryfl

Moderator

Dabei seit: 14.01.2003

Beiträge: 2 766

 

1 Zum Seitenanfang

Donnerstag, 14. August 2008, 09:59

Programm um Nummern zu generieren (in verbindung mit einer Datenbank)

Wie im Topic schon beschrieben bin ich auf der Suche nach einem Programm, oder besser einer Programmiersprache, mit der sich das verwirklichen lässt.

Erklärung in Worten: Prüfmittelnummern werden benötigt (bsp. 6-stellig) - Zufällige Nummer (+1 oder ganz zufällig, egal) soll auf Knopfdruck generiert werden - Nummer soll ausgegeben werden und gleichzeitig in einer Datenbank abgespeichert werden mit der bei jedem generieren abgeglichen wird, damit jede Nummer nur 1mal vergeben wird.

Ich hoffe das war soweit verständlich.

Im Anhang die Skizze ( :pinch: ), wie das Programm ungefähr aussehen sollte.

Die Frage ist also: Wie lässt sich sowas am Besten / Einfachsten realisieren?
Danke schonmal für Eure Ideen.


Gruß
»zoryfl« hat folgendes Bild angehängt:
  • skizze.JPG
http://zoryfl.wmw.cc
 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

2 Zum Seitenanfang

Donnerstag, 14. August 2008, 10:26

naja programmiersprache kannst du im grunde jede verwenden die dir die möglichkeit bietet in die db reinzuschreiben und eine gui bietet (da kommen also sehr viele in frage).

einen zufallsgenerator gibts wohl auch in fast jeder gängigen programmiersprache. mit dem lässt du dir einfach eine 6 stellige nummer generieren und das machst du so lange bis du eine nummer hast die noch nicht in der datenbank steht (SELECT `id` FROM db_table WHERE `checksum`='generierteChecksumme' --> wenn keine datensatz geliefert wird ist die id eindeutig).

was natürlich zusätzlich noch geht ist, dass du das feld in der datenbank auf unique setzt, dann kannst du schonmal keine gleichen checksummen in die datenbank eintragen, weil dann alle eindeutig sein müssen.

weiters kannst du die zufallszahlenlogik natürlich auch bereits durch die datenbank erledigen lassen. hier am beispiel von mysql: http://dev.mysql.com/doc/refman/5.0/en/m…l#function_rand

du musst dich halt entscheiden welche funktionalität du wo einsetzen willst. solltest dabei denken wie streng du es machst (unique in der spalte sichert wirklich dass du auch nichts falsches reinschreiben kann) und auch an erweiterbarkeit des programms denken.

hoffe das hilft dir ein wenig.

jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

nocturne

Kaiser

Dabei seit: 06.01.2005

Beiträge: 1 167

 

3 Zum Seitenanfang

Donnerstag, 14. August 2008, 10:36

Ich würde die Datenbasis in den Mittelpunkt stellen,
also erst Datensatz erstellen und dann Datensatz ausgeben (jperl gab da ne gute Anleitung).

Jetzt gibts das ungelöse praktische problem der asynchronen ID-Vergabe (Zwischen INSERT und SELECT MAX gibts weitere INSERTS).
Ich würde daher ein "LOCK TABLE" und "UNLOCK TABLE" ausführen.
Also
LOCK TABLE register
INSERT INTO register (xxx);
SELECT MAX(register)
UNLOCK TABLE register;

Versuchs halt.
 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

4 Zum Seitenanfang

Donnerstag, 14. August 2008, 10:36

Zitat

... nach einem Programm, oder besser einer Programmiersprache, mit der sich das verwirklichen lässt ...
Das sollte sich eigentlich mit fast jeder Programmier - oder Scriptsprache bewerkstelligen lassen. Egal, ob du nun PHP-cli (clientseitig ) + GTK,
Java,
C#,
VB,
c /c++,
und wie sie alle heißen, einsetzt.

EDIT: hoppla, da waren ja schon 2 Antworten --

Die genannte Anforderung ist so grundlegend, dass dieses prinzipiell mit nahezu jeder Programmier - und Skriptsprache möglich sein sollte (mal abgesehen von umgebungsspezifischen Sicherheitsbeschränkungen , z.B. starke Restriktionen in Browser- Umgebungen -> javascript, Java-Applets).

Die Frage ist, was du unter Datenbank verstehst und wo das Programm ausgeführt werden soll.
Meinst du mit Datenbank eine Datenbank auf einem Datenbankmanagementsystem oder eine einfache (Text-)Datei (csv, ini, xml etc...)?
Soll das Programm eher serverseitig laufen oder clientseitig?
In welcher Sprachen verfügst du über die weitesten Kenntnisse, hast also möglichst geringe Einarbeitungszeiten?
Darfst du dazu eine virtual machine oder einen Interpreter nutzen/ installieren?
Soll es möglichst Plattformunabhängig sein oder in einer klar deffinierten Umgebung laufen?
Dürfen Aus- und Eingaben über die Kommandozeile/ Shell getätigt werden oder muß und soll ein von dir gezeigtes Fenster genutzt werden?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ospx« (14. August 2008, 10:38)

 

MartyMcFly

Foren Gott

Dabei seit: 04.06.2003

Beiträge: 3 137

 

5 Zum Seitenanfang

Freitag, 15. August 2008, 09:20

Warum nicht einfach eine Tabelle mit einem auto-increment anlegen.

Dort wird für jeden neuen Datensatz eine eindeutige ID automatisch angelegt und hochgezählt. Abfragen kann man die dann mit mysql_insert_id()

Marty
 

zoryfl

Moderator

Dabei seit: 14.01.2003

Beiträge: 2 766

 

6 Zum Seitenanfang

Montag, 18. August 2008, 08:58

Erstmal vielen Dank für eure Ideen und Anregungen!

Nachdem ich mich etwas schlau gemacht habe, zugegebenermaßen nur oberflächlich, habe ich mich dafür entschieden, das ganze einmal mit php-gtk zu versuchen. Macht einen recht guten Eindruck auf mich.
Die 'normalen' mySQL Aktionen via php sind dort nicht eingeschränkt, oder?

Bei aufkommenden Fragen behalte ich mir vor mich hier wieder zu melden :)
http://zoryfl.wmw.cc
 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 997

 

7 Zum Seitenanfang

Dienstag, 16. September 2008, 16:39

bin mir nicht sicher ob dein problem noch aktuell ist aber ich würde das mit c++ in verbindung mit msaccess db machen oder c++ und mysql connector(falls du die datenbank über internet anspechen willst)

oder schlicht mit php + mysql

MFG

PS: ich kann dir auch das programm schreiben wenn du willst
Mein kleines Projekt
-Cruel Online-

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (17. September 2008, 16:40)

 

Ähnliche Themen