如何在sqlserver中保存公式并在应用程序中使用该公式
在我的操作中如何将公式保存到表格中,我用的是公式(公式我可以由用户动态创建) 公式示例
Variabl1+Variable2*3.2+200
该公式不是 const。
谢谢
How can we save a formula into a table in my operation, I used to formula (Formula I can be dynamically created by the user)
formula axample
Variabl1+Variable2*3.2+200
this formula isn't const.
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为你必须将精确的公式保存在数据库中,当你想使用它时,使用替换方法处理公式字符串。您应该获取 Variabl1、Variable2 数据并使用以下代码:
然后处理
f
来运行公式。对于运行,您可以使用此替换代码来替换您想要的所有数学运算符。
注意:这是我的方式。但也许 c# 中还有另一种我不知道的方法。
I think you have to save the exactly formula in database and when you want to use it, process the formula string using replace method. you should get Variabl1,Variable2 data and use this code:
and then process
f
to run the formula. for run you can useand use this replace code for all math operators that you want.
note: this is my way. but maybe there is another ways in c# that I don't know.
在 C# 中,您可以使用 codeDOM 服务来动态编译 C# 代码,或者您也可以通过自己解析公式字符串动态构建表达式树。但可能这两种方式都缺乏性能,因为需要运行时编译
(嗯,除了这个可能表现得足够好)。
因此,我最好建议将一些脚本引擎嵌入到.NET框架中 - 例如 Lua 或 Javascript。
不过,如果您正在编写
asp.net
应用程序 - 为什么您不能省略在客户端计算公式结果的直接 javascript 代码?这可能是最好的解决方案,因为 Web 应用程序和客户端脚本就像丈夫和妻子:-)In C# you can use codeDOM services to dynamically compile C# code or you can dynamically build expression tree by parsing your formula string yourself. But probably both ways lacks performance because run-time compilation is needed
(huh, except maybe this one may perform good enough).
So because of that i would better suggest to embed some scripting engine to .NET framework - such as Lua or Javascript.
Still if you are writing
asp.net
application - why you can't omit direct javascript code which computes formula result at the client side ? This probably would be the best solution because web applications and client side scripting are like husband and wife :-)