Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Formeln in Datenbank speichern (https://www.delphipraxis.net/149474-formeln-datenbank-speichern.html)

azwa66 22. Mär 2010 10:24

Datenbank: SQL Server • Zugriff über: Native

Formeln in Datenbank speichern
 
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

DeddyH 22. Mär 2010 10:26

Re: Formeln in Datenbank speichern
 
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.

borwin 22. Mär 2010 12:02

Re: Formeln in Datenbank speichern
 
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

azwa66 22. Mär 2010 12:06

Re: Formeln in Datenbank speichern
 
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?

sirius 22. Mär 2010 12:14

Re: Formeln in Datenbank speichern
 
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;

borwin 22. Mär 2010 14:05

Re: Formeln in Datenbank speichern
 
Schau mal hier tyPaser. Der ist schon sehr mächtig und sehr schnell.

Gruß Borwin


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