以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]新手,关于方括号的一个矛盾  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92681)

--  作者:andy-1024
--  发布时间:2016/11/10 10:37:00
--  [求助]新手,关于方括号的一个矛盾
 我在学习FT编程的过程中发现了一个问题,如下:

在“运算符和表达式”一节中,有如下内容“列名称推荐用方括号括起来”。
在"FT编程>DateTable>常用方法>Compute”一节中,示例4的第四行代码:


计算每个客户的订购数量:


Dim dt As DataTable = DataTables("订单")
Dim
Total As Integer
Dim
Customers As List(Of String)
Customers = dt.GetValues(
"客户")     \'此处“客户”列名没有方括号,编译没有问题
For Each
Customer As String In Customers
Total = dt.Compute("Sum(数量)", "[客户] = \'" & Customer & "\'")
Output
.Show(Customer & ":" & Total
)
Next


但是将第四行代码按照推荐的方法用方括号“[ ]”括起来,改为
customers = dt.GetValues("[客户]")             \'此处“客户”列名加入"[ ]"
则会出现编译不通过的情况,如下:

图片点击可在新窗口打开查看

我想问一下这是什么原因造成的?这两处是否自相矛盾呢?还是我之前没有学透彻,忽略了什么内容呢?

--  作者:有点蓝
--  发布时间:2016/11/10 11:55:00
--  
上面都提到了这个内容是在“运算符和表达式”一节,就是说这个规则只适用于表达式。

dt.GetValues("客户") ,这里的参数就不是表达式了,无需括号。

查询条件,sql语句等等这类的才可以加括号
[此贴子已经被作者于2016/11/10 16:13:04编辑过]

--  作者:andy-1024
--  发布时间:2016/11/10 16:07:00
--  
还是我学艺不精啊。 感谢版主,明白了。
图片点击可在新窗口打开查看