AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Nachrichten über SQL schicken?
Thema durchsuchen
Ansicht
Themen-Optionen

Nachrichten über SQL schicken?

Ein Thema von CG2003 · begonnen am 29. Nov 2005 · letzter Beitrag vom 30. Nov 2005
Antwort Antwort
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#1

Nachrichten über SQL schicken?

  Alt 29. Nov 2005, 21:40
Datenbank: MySQL • Version: 4.1 • Zugriff über: Zeos
Hallo,

ich entwickle gerade ein Programm zur Auftragsverwaltung und Reparatureingabe.
Nun möchte ich eine Art "E-Mail"-System einbauen. D.H., dass ein Nutzer einem anderen,
allen anderen oder nur ein paar anderen Benutzern eine Nachricht mit Betreff usw. schicken kann.

Ich möchte, das dies irgendwie über den SQL-Server geschieht, so dass die Nachrichten auch
gespeichert werden, und gleich nach dem Login im meinem Programm angezeigt werden.

Ist sowas generell überhaupt möglich, und wenn ja, wie kann man das machen?
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#2

Re: Nachrichten über SQL schicken?

  Alt 29. Nov 2005, 21:50
N´abend

also ich habe mal für eine Ergotherapiepraxis ein Mitteilungsbuch realisiert. Das war eigentlich eine recht überschaubare Geschichte. Letztlich hast Du die Nachricht, einen Zeit- und Datumsstempel und Absender sowie Empfänger. Das ganze braucht ein Eingabeformular und eine Übersichtsseite. Die dürften wohl kaum ein Problem sein.

Jetzt hat man prinzipiell die Möglichkeiten:

a.) Du baust eine periodische Abfrage ein um die Nachrichten zu aktualisieren
b.) Du schickst einen UDP-Broadcast-Ping als Info an alle Rechner, dass ein Neueintrag vorliegt.
c.) Du schickst Die Nachricht gleich mit dem UDP-Broadcast mit und speicherst die Mitteilung zudem in die DB.

Denke das ist es. Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Nachrichten über SQL schicken?

  Alt 29. Nov 2005, 21:52
Hi,

klar ist das möglich. Ich weiß nicht, welche Komponente die Enterprise-Version alles mit sich bringt, aber da gibt's sicher was. Wenn nicht, die Suche hätte geholfen: MySQL ohne Komponenten oder ein Tutorial auf Michaels Website.


Nachtrag: Sehe gerade erst, dass es über ZEOS gehen soll. Wie das genau geht, weiß ich nicht, sorry.
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Nachrichten über SQL schicken?

  Alt 29. Nov 2005, 21:55
Zitat:
Du schickst einen UDP-Broadcast-Ping als Info an alle Rechner, dass ein Neueintrag vorliegt.
in einem geroutetem netzwerk nicht möglich -> eventuell dann die mysql DB selbst als trigger verwenden, indem einfach irgendwo ein datetime stempel existiert, der bei jedem neueintrag aktualisiert wird -> und die clients pollen alle paar sekunden auf diesen stempel und vergleichen ihn, ob er aktualisiert wurde.
eine stetige verbindung zur DB würde ich dir dann aber anraten.
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Nachrichten über SQL schicken?

  Alt 29. Nov 2005, 22:23
Hmm, also ich hatte mir das so gedacht.

Ein CLient schreibt eine Nachricht in eine Tabelle "News" oder so.

Die anderen Clients prüfen, mittels TTimmer in einem bestimmten Intervall, ob neu Nachrichten drin sind.
Nur weiß ich nicht genau, wie ich das implementieren soll...
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Nachrichten über SQL schicken?

  Alt 29. Nov 2005, 22:41
fang halt erstmal an, indem du mit zeos drauf zugreifst und aus einer tabelle, in der ein feld vom typ datetime ist, das automatisch mit dem aktuellen timestamp gefüllt wird, abfrägt - "order by datetime desc limit 1"
so ungefär. dann bekommste den neusten datensatz raus
ein mysql handbuch runterladen und mit den zeos komponenten rumspielen bzw mal die DP durchforsten - da gibts haufen threads wie man mit zeos auf mysql zugreift.
ausserdem würde ich empfehlen, das du etwas anderes als zeos verwendest, da zeos erfahrungsgemäß langsamer ist als z.b. direkt mit der mysql api oder mit AnyDAC oder MyDAC usw, die das auch nativ machen
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Nachrichten über SQL schicken?

  Alt 29. Nov 2005, 23:21
Zitat von supermuckl:
ausserdem würde ich empfehlen, das du etwas anderes als zeos verwendest, da zeos erfahrungsgemäß langsamer ist als z.b. direkt mit der mysql api oder mit AnyDAC oder MyDAC usw, die das auch nativ machen
Nun ja, anscheinend, haben wir aneinander vorbei geredet...
Also mein Programm ist fast fertig, und das alles von Zeos auf z.B. MyDAC oder direkt auf die MySQL-API zu mirgrieren, wäre momentan ein horrender Aufwand. Zumal die Deadline (das Programm ist für meinen Arbeitgeber) schon am 19.12.2005 ist.

Aber sollte ich das jetzt per Timer machen? Oder wie?
Wie kann ich das realisieren, das der Client, der die Nachricht schreibt, auswählen kann, an wen diese gehen soll? Und wie funktioniert das "Senden" an sich dann genau?

Aber der Tip mit dem "neusten Datensatz" ist schon mal ganz gut. Ein Buch habe ich. Ich habe das Handbuch von MySQL und ein MySQL-Buch vom Franzis Verlag, welches an sich ganz gut ist.
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

Re: Nachrichten über SQL schicken?

  Alt 30. Nov 2005, 00:32
Moin,

also wenn du schon ein Auftrag-Reparatur-Gedöns-Programm geschrieben hast (mit MySQL als DB),
wo ist denn dann bitteschön das Problem einen Query auf einer SQL-Tabelle zu öffnen?
(zumal schreibst du, dass diese Nachrichten gleich nach dem Login angezeigt werden sollen)
Das ist ja wohl trivialer als Auftrag-usw. tststststs

Also mal in groben Zügen:

Tabelle: MailTime(DATETIME), MailFrom(VARCHAR), MailTo(VARCHAR), MailText(TEXT), MailRead(DATETIME)
(Wenn die Mail an mehrere gehen soll, dann auch pro Empfänger in die Tabelle schreiben!)

Ich würd ja jetzt ein Frame oder Formular entwerfen, je nachdem wie du die mails anzeigen willst (innerhalb des Arbeitsformulars, oder modal bzw. unabhängig)
In dem Frame kommt dann die TimerKompo und die steuert dann den SELECT (ähöh Query)

Also mit UDP-Broadcast an die Rechner senden, das mail vorhanden (warum dann die mail nicht gleich senden?).
Vor allem ist das ja wohl mit Kanonen auf Spatzen.
Aber wo wir ja bei mail sind, die wird ja auch in regelmäßigen Abständen vom Client abgefragt, also die einfachste und hierbei wohl auch damit effektivste Methode per Timer alle 60sec den SELECT neu ausführen.

cu
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Nachrichten über SQL schicken?

  Alt 30. Nov 2005, 18:20
Zitat:
also wenn du schon ein Auftrag-Reparatur-Gedöns-Programm geschrieben hast (mit MySQL als DB),
wo ist denn dann bitteschön das Problem einen Query auf einer SQL-Tabelle zu öffnen?
das mein ich aber auch. klingt wie wenn ein bäcker frägt, wie er die knetmaschine an kriegt *g*
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Nachrichten über SQL schicken?

  Alt 30. Nov 2005, 18:55
Zitat von supermuckl:
Zitat:
also wenn du schon ein Auftrag-Reparatur-Gedöns-Programm geschrieben hast (mit MySQL als DB),
wo ist denn dann bitteschön das Problem einen Query auf einer SQL-Tabelle zu öffnen?
das mein ich aber auch. klingt wie wenn ein bäcker frägt, wie er die knetmaschine an kriegt *g*
Die Abfrage ist mir auch relativ klar. Es ging nur ums programmtechnische, ob per Timer und wie ich an "Gruppen" sende.
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  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 21:40 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