Does anyone have experience creating a formula generator and storing the
formula in a database for re-use? I want to give my end user the ability to
create custom formulas. The end user would create the formulas in a grid
selecting fields and controls to use in the formulas. The problem I am
having is coming up with a method of storing the formula and then using the
formula in my app. Any help will be greatly appreciated.




mbs

Re: storing formula in database by Miha

Miha
Fri Feb 03 08:37:23 CST 2006

One approach might be of defining a gramar and stuff and store formulas in
plain text.
Perhaps this tool might help you:
http://www.devincook.com/GOLDParser/

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"JDF" <who@no.com> wrote in message
news:KeCdnUaTDszUzn7enZ2dnUVZ_tWdnZ2d@suscom.com...
> Does anyone have experience creating a formula generator and storing the
> formula in a database for re-use? I want to give my end user the ability
> to create custom formulas. The end user would create the formulas in a
> grid selecting fields and controls to use in the formulas. The problem I
> am having is coming up with a method of storing the formula and then using
> the formula in my app. Any help will be greatly appreciated.
>
>
>
>
> mbs
>



Re: storing formula in database by Marina

Marina
Fri Feb 03 08:39:08 CST 2006

It really depends on what your options are for evaluating the formula, and
what kind of things you are comfortable with. It also depends on the context
of this, and how you have your variable placeholders, etc.

In any case, if we can assumey our formula has some placeholders that you
can replace, then I can offer a couple of suggestions - which are really
similar.

1. Pop the placeholders in as columns in a datatable, insert a row, and set
the values on the column appropriate to the placeholders. Then create an
expression column that is your formula, and then check the value in the
column - it should have the computed expression.
2. Replace the placeholders in the formula string with their values, and run
it through a sql engine as a SELECT statement that is selecting your
formula.

Both these suggestions assume that your formula is something that either the
datatable's expression column can handle, or that a SQL engine can handle.
There is some overhead with going to a sql engine to evaluate an arithmetic
expression of course.

Otherwise you have to use some old fashioned formula parsing techniques and
then evaluate it. I'm sure there is tons of information on how to do this
if you search the web for it.

"JDF" <who@no.com> wrote in message
news:KeCdnUaTDszUzn7enZ2dnUVZ_tWdnZ2d@suscom.com...
> Does anyone have experience creating a formula generator and storing the
> formula in a database for re-use? I want to give my end user the ability
> to create custom formulas. The end user would create the formulas in a
> grid selecting fields and controls to use in the formulas. The problem I
> am having is coming up with a method of storing the formula and then using
> the formula in my app. Any help will be greatly appreciated.
>
>
>
>
> mbs
>



Re: storing formula in database by Jim

Jim
Fri Feb 03 22:25:29 CST 2006

You could use the JavaScript Eval function from DotNet storing the formulas
and token values in the database.

Here is a link that describes a few options.

http://www.codecomments.com/.NET_Scripting/message365093-1.html

My personal favorite is:

\\\Eval by Nigel Amstrong
1. Create a file called: DynamicMath.js
2. Add this code to it:

class DynamicMath
{
static function Eval(MathExpression : String) : double
{
return eval(MathExpression);

};
}

3. Compile it with the command line jsc compiler: jsc /t:library
DynamicMath.js
4. Add a reference to DynamicMath.dll to your project (and to
Microsoft.JScript.dll as well)
5. Use from your favourite .NET language:
Dim d As Double = DynamicMath.Eval("2 + 3 + 4")
MessageBox.Show(d)
6. That's it..
///


"JDF" <who@no.com> wrote in message
news:KeCdnUaTDszUzn7enZ2dnUVZ_tWdnZ2d@suscom.com...
> Does anyone have experience creating a formula generator and storing the
> formula in a database for re-use? I want to give my end user the ability
> to create custom formulas. The end user would create the formulas in a
> grid selecting fields and controls to use in the formulas. The problem I
> am having is coming up with a method of storing the formula and then using
> the formula in my app. Any help will be greatly appreciated.