SQLCompute用于计算后台根据指定的条件计算指定的内容。这个表达式可以使用聚合函数计算求和、计数、最大值、最小值等等。
语法:
SQLCompute(Expression,Filter)
参数说明
名称 | 说明 |
Expression | 必填项,字符串类型,要计算的表达式,使用聚合函数进行统计。 |
Filter | 可选项,字符串类型,用于设置计算的筛选条件,使用表达式筛选。跟本地筛选使用相同的语法。 |
针对上面这样的数据,我们可以统计以下信息。
Vb.Net |
Dim tblMain As SmGrid = Proj.OpenedForms("订单统计测试").Grids("tblMain") Dim objValue As Object=tblMain.DataTableHelp.SQLCompute("Count(产品)","产品='产品01'") Proj.MsgDebug.Add("后台产品01的数量:{0}",objValue) objValue=tblMain.DataTableHelp.SQLCompute("Count(产品)") Proj.MsgDebug.Add("后台所有产品的数量:{0}",objValue) objValue=tblMain.DataTableHelp.Compute("Count(产品)","产品='产品01'") Proj.MsgDebug.Add("内存表中产品01的数量:{0}",objValue) objValue=tblMain.DataTableHelp.Compute("Count(产品)") Proj.MsgDebug.Add("内存表中所有产品的数量:{0}",objValue) objValue=tblMain.DataTableHelp.Database.ExecuteScalar("Select Count(产品) from 订单信息 where 产品='产品01'") Proj.MsgDebug.Add("SQL查询后台产品01的数量:{0}",objValue) objValue=tblMain.DataTableHelp.Database.ExecuteScalar("Select Count(产品) from 订单信息") Proj.MsgDebug.Add("SQL查询后台所有产品的数量:{0}",objValue) '返回结果:后台产品01的数量:380 '返回结果:后台所有产品的数量:2003 '返回结果:内存表中产品01的数量:380 '返回结果:内存表中所有产品的数量:2000 '返回结果:SQL查询后台产品01的数量:380 '返回结果:SQL查询后台所有产品的数量:2003 |
C# |
SmGrid tblMain = Proj.OpenedForms["订单统计测试"].Grids["tblMain"] as SmGrid; object objValue = tblMain.DataTableHelp.SQLCompute("Count(产品)", "产品='产品01'"); Proj.MsgDebug.Add("后台产品01的数量:{0}", objValue); objValue = tblMain.DataTableHelp.SQLCompute("Count(产品)"); Proj.MsgDebug.Add("后台所有产品的数量:{0}", objValue); objValue = tblMain.DataTableHelp.Compute("Count(产品)", "产品='产品01'"); Proj.MsgDebug.Add("内存表中产品01的数量:{0}", objValue); objValue = tblMain.DataTableHelp.Compute("Count(产品)"); Proj.MsgDebug.Add("内存表中所有产品的数量:{0}", objValue); objValue = tblMain.DataTableHelp.Database.ExecuteScalar("Select Count(产品) from 订单信息 where 产品='产品01'"); Proj.MsgDebug.Add("SQL查询后台产品01的数量:{0}", objValue); objValue = tblMain.DataTableHelp.Database.ExecuteScalar("Select Count(产品) from 订单信息"); Proj.MsgDebug.Add("SQL查询后台所有产品的数量:{0}", objValue); // 返回结果:后台产品01的数量:380 // 返回结果:后台所有产品的数量:2003 // 返回结果:内存表中产品01的数量:380 // 返回结果:内存表中所有产品的数量:2000 // 返回结果:SQL查询后台产品01的数量:380 // 返回结果:SQL查询后台所有产品的数量:2003 |