以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- SQL函数 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47376) |
-- 作者:jianjingmaoyi -- 发布时间:2014/3/9 12:13:00 -- SQL函数 Dim Val As Double Val = DataTables("订单").SQLCompute("Sum(数量 * 单价 * (1 - 折扣))","产品 = \'PD01\'") Output.Show(Val) 类似于这样的函数 这个表必须在前台吗,不加载不行? 如果这样意义不大呀
|
-- 作者:y2287958 -- 发布时间:2014/3/9 12:19:00 -- 数据可以不加载 |
-- 作者:jianjingmaoyi -- 发布时间:2014/3/9 13:08:00 -- 数据我知道可以不加载 我说的是表 |
-- 作者:y2287958 -- 发布时间:2014/3/9 13:18:00 -- 表是必须的 俺咨询过 当然不如直接用sql
[此贴子已经被作者于2014-3-9 13:18:20编辑过]
|
-- 作者:jianjingmaoyi -- 发布时间:2014/3/9 15:17:00 -- 鱼和熊掌不可兼得呀 |
-- 作者:lsy -- 发布时间:2014/3/9 16:06:00 -- 用SQLCommand,生成的DataTable,灵活方便。 |
-- 作者:逛逛 -- 发布时间:2014/3/9 16:34:00 -- 以下是引用jianjingmaoyi在2014-3-9 12:13:00的发言:
Dim Val As Double Val = DataTables("订单").SQLCompute("Sum(数量 * 单价 * (1 - 折扣))","产品 = \'PD01\'") Output.Show(Val) 类似于这样的函数 这个表必须在前台吗,不加载不行? 如果这样意义不大呀 应该不是一定要加载到前台吧。DataTables("订单")就是一个DataTable ,动态加载也可也指定啊。
动态加载还是要用到SQLCommand ,但对SQL语句不熟的人还是有吸引力的,语句简单了很多。
我试了一下这个,
Dim dt As DataTable Dim cmd As New SQLCommand |
-- 作者:有点酸 -- 发布时间:2014/3/9 23:22:00 -- 逛逛说的对,这节帮助后面介绍了:
http://www.foxtable.com/help/topics/2916.htm
另一种执行方式
DataTable的所有后台处理方法,当然都要基于DataTable运行,所以上面的示例中,我们加载了一个空的行政区域表,然后基于此空表处理后台的行政区域表的数据。
首先我们在全局代码中定义一个变量: Public xzqy As DataTable
然后在AfterOpenProject事件中加上代码:
Dim cmd As New SQLCommand
上面的代码生成一个空的临时表,保存在全局变量xzqy中,这个临时表对应后台的行政区域表。
Tables("客户").Cols("省市").Combolist = xzqy.SQLGetComboListString("省市") [此贴子已经被作者于2014-3-9 23:22:14编辑过]
|