如何在sqlserver中保存公式并在应用程序中使用该公式

发布于 2025-01-03 00:19:16 字数 135 浏览 0 评论 0原文

在我的操作中如何将公式保存到表格中,我用的是公式(公式我可以由用户动态创建) 公式示例

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

画骨成沙 2025-01-10 00:19:16

我认为你必须将精确的公式保存在数据库中,当你想使用它时,使用替换方法处理公式字符串。您应该获取 Variabl1、Variable2 数据并使用以下代码:

string f="Variabl1+Variable2*3.2+200";
f= System.Text.RegularExpressions.Regex.Replace(f, "Variabl1", TxBxVar1.Text);
f= System.Text.RegularExpressions.Regex.Replace(f, "Variabl2", TxBxVar2.Text);

然后处理 f 来运行公式。对于运行,您可以使用

System.Text.RegularExpressions.Regex.Split(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:

string f="Variabl1+Variable2*3.2+200";
f= System.Text.RegularExpressions.Regex.Replace(f, "Variabl1", TxBxVar1.Text);
f= System.Text.RegularExpressions.Regex.Replace(f, "Variabl2", TxBxVar2.Text);

and then process f to run the formula. for run you can use

System.Text.RegularExpressions.Regex.Split(f, "+");

and 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.

鸠书 2025-01-10 00:19:16

在 C# 中,您可以使用 codeDOM 服务来动态编译 C# 代码,或者您也可以通过自己解析公式字符串动态构建表达式树。但可能这两种方式都缺乏性能,因为需要运行时编译
嗯,除了这个可能表现得足够好)。
因此,我最好建议将一些脚本引擎嵌入到.NET框架中 - 例如 LuaJavascript
不过,如果您正在编写 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 :-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文