AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Formeln in Datenbank speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Formeln in Datenbank speichern

Ein Thema von azwa66 · begonnen am 22. Mär 2010 · letzter Beitrag vom 22. Mär 2010
Antwort Antwort
azwa66

Registriert seit: 22. Mär 2004
38 Beiträge
 
#1

Formeln in Datenbank speichern

  Alt 22. Mär 2010, 10:24
Datenbank: SQL Server • Zugriff über: Native
hallo,

ich habe keine ahnung ob das hier der richtige ort für mein anliegen ist, jedoch hoffe ich auf eure hilfe.
ich möchte gerne eine beliebige mathematische formel (kann vom benutzer eingegeben werden) in eine tabelle speichern und diese dann auf wunsch mit den entsprechenden parametern ausführen und berechnen.

beispiel: Formel = ((x - y) * 100) / x^2

wie kann ich sowas programmieren? wie gesagt Formel und Parameter sind individuell.

für tipps und ideen bin ich euch sehr dankbar.

vg
azwa66
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Formeln in Datenbank speichern

  Alt 22. Mär 2010, 10:26
Die Speicherung in der DB dürfte ja weniger das Problem sein (einfach in ein Varchar oder BLOB-Feld je nach Komplexität). Für die Berechnung wirst Du dann einen Matheparser brauchen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
borwin

Registriert seit: 14. Sep 2006
Ort: Rostock
72 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Formeln in Datenbank speichern

  Alt 22. Mär 2010, 12:02
Hallo,

da musst Du selber Hand anlegen und einen Fromelinterpreter schreiben. Für Firebird habe ich das mal mit Hilfe einer UDF (User-Defined Functions) realisert (mit Delphi).
Der Funktion wurde dann eine Formel und die Parameter übergeben.
Ich glaube ab MS SQL 2005 versteht der Server auch dot Net. Damit sollte sowas auch möglich sein.
Da gibt es bestimmt schön eine Lösung im Web.

Gruß Borwin
  Mit Zitat antworten Zitat
azwa66

Registriert seit: 22. Mär 2004
38 Beiträge
 
#4

Re: Formeln in Datenbank speichern

  Alt 22. Mär 2010, 12:06
danke für die schnelle antwort.
das mit dem feldtyp ist mir schon klar. Mir geht es dann doch um die programmierung dieses MATHEPARSERS. Wie geht sowas?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Formeln in Datenbank speichern

  Alt 22. Mär 2010, 12:14
Willst du jetzt in Delphi einen Matheparser schreiben
-> dann musst du mal hier suchen, gibts schon eine Menge

Oder willst du jetzt in der Datenbank etwas ausrechnen
-> dann erstelle eine Stored Procedure mit der Formel:
SQL-Code:
--Beispiel: Oracle
create or replace function myfunc(x in Number, y in Number) return number is
  Result Number;
begin
  Result:=((x - y) * 100) / x/x;
  return(Result);
end myfunc;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
borwin

Registriert seit: 14. Sep 2006
Ort: Rostock
72 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Formeln in Datenbank speichern

  Alt 22. Mär 2010, 14:05
Schau mal hier tyPaser. Der ist schon sehr mächtig und sehr schnell.

Gruß Borwin
  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 00:47 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