Click here to Skip to main content
15,885,216 members
Please Sign up or sign in to vote.
1.00/5 (3 votes)
I Wanted to store the formula text and intend to evaluate the formulae and display results of the operation..
Please help me!
Thanks a lot
Posted
Comments
OriginalGriff 18-Nov-12 11:24am    
And? Your problem is?
What have you tried? What have you got to store so far? Where are you stuck?

you can do this way...

store formula in sql table tblFormulas like below...
FormulaName  			FormulaEquation
Gain				S.P. - C.P.
Loss				C.P. - S.P.
Gain%				(GAIN * 100)/C.P.
Loss%			         (LOSS * 100)/S.P
Selling Price (S.P)                 ((100 + GAIN%)/100)*C.P.

Now...
Write down code in .net
replace values of parameters in equations...
for e.g.
C#
string Equation = "((100 + GAIN%)/100)*C.P."; 
Equation = Equation.Replace("GAIN%", txtGainPer.text); // suppose txtGainPer.text = 50
Equation = Equation.Replace("C.P.", txtCP.text); // suppose txtGainPer.text = 27
Equation = Equation.Replace("S.P.", txtSP.text);
Equation = Equation.Replace("GAIN", txtGain.text);
Equation = Equation.Replace("LOSS", txtLoss.text);
//result will be like below... Equation = "((100 + 50)/100)*27";
//now send this equation to sql as below to evaluate
Equation = "Select " + Equation;
//then pass string to sql for execution...

NOTE : This code is vulnerable for sql injection
TIP: to avoid this you can use third party .net classes available for evaluate expressions OR can write code for evaluate expressions your self

Hope this helped you.
Happy Coding!
:)
 
Share this answer
 
Comments
Maciej Los 23-May-14 1:56am    
+5!
Welcome back Aarti!
Aarti Meswania 23-May-14 2:58am    
Thank you, Maciej Los :)
If I am not wrong; you want to store some sql in a field and execute it.

Check this it may help you.

SQL
Declare @a varchar(999)

set @a='select 5*5+5'
--You can use select @a=fieldname from tablename where criterya

Exec (@a)
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900