在C#中有没有类似于sql中sp_executesql执行字符串的语句比如在文本框中输入9*10+10,不用循环计算出100

解决方案 »

  1.   

    C#要学习
    SQL倒是可以
    DECLARE @SQL NVARCHAR(4000)
    DECLARE @RATE_DESC NVARCHAR(4000)
    DECLARE @RAKE_OFF MONEY
    SET @RATE_DESC=N'含税销售额*差价'
    SET @SQL=REPLACE(@RATE_DESC,'含税销售额',CAST(@PRICE*@QTY  AS NVARCHAR(4000)))
    SET @RATE_DESC=('SELECT @RAKE1='+@SQL)
    DECLARE @RAKE NVARCHAR(4000)
    exec sp_executesql @RATE_DESC,N'@RAKE1  nvarchar(4000) output',@RAKE OUTPUT
    SET @RAKE_OFF=CAST(@RAKE AS MONEY)
    PRINT @RAKE_OFF
      

  2.   

    简单的办法
    DataTable dt = new DataTable();
    string value = Convert.ToString(dt.Compute(expression, ""));复杂的:动态编译
      

  3.   

    比如在文本框中输入9*10+10,不用循环计算出100
    不知道这样行不?
    Convert.ToInt32(9*10+10)