一个DataTable dt,含有列:
order_Qty(double)
complete_qty(double)
现在要在dt中增加一个计算列,其表达式为(complete_qty-order_qty)/complete_qty,但是我这样写
dt.Add("marg",Type.GetType("System.Double"),"iif(complete_qty=0,null,(complete_qty-order_qty)/complete_qty"),但是为什么总是提示“试图除以零”的错误呢???我知道在Sql中可以用case 语句去完成,只想知道在DataTable中有没有方法去完成这种计算..
谢谢各位大虾米^_^
order_Qty(double)
complete_qty(double)
现在要在dt中增加一个计算列,其表达式为(complete_qty-order_qty)/complete_qty,但是我这样写
dt.Add("marg",Type.GetType("System.Double"),"iif(complete_qty=0,null,(complete_qty-order_qty)/complete_qty"),但是为什么总是提示“试图除以零”的错误呢???我知道在Sql中可以用case 语句去完成,只想知道在DataTable中有没有方法去完成这种计算..
谢谢各位大虾米^_^
using System;
using System.Data;
namespace ConsoleApplication13
{
class Program
{
static void Main(string[] args)
{
System.Data.DataTable table = new DataTable();
table.Columns.Add("value1", typeof(int));
table.Columns.Add("value2", typeof(int)); System.Data.DataRow dRow = table.NewRow();
dRow["value1"] = 1;
dRow["value2"] = 0;
table.Rows.Add(dRow);
System.Data.DataColumn column = new DataColumn("exp1", typeof(float));
table.Columns.Add(column);
column.Expression = "iif(value2>0,(value1)/value2,999)";
Console.WriteLine(table.Rows[0]["exp1"]); Console.Read();
}
}
}
http://blog.csdn.net/jinjazz/archive/2008/04/08/2261721.aspx