Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
帮助中前面说字符串常量要用双引号括起来,但在后面的表的查询语句中(例如find语句和select语句),使用的字符串常量又用单引号,我不太明白,什么时候用单引号,什么时候用双引号,或者在find语句和select语句中,在使用单引号表示的字符串的位置如果要使用一个变量名,可以吗?
帮助中前面说字符串常量要用双引号括起来,但在后面的表的查询语句中(例如find语句和select语句),使用的字符串常量又用单引号,我不太明白,什么时候用单引号,什么时候用双引号,或者在find语句和select语句中,在使用单引号表示的字符串的位置如果要使用一个变量名,可以吗?
1.
表达式用单引号表示字符串 比如表达式列,还有日常工作选项卡中排序与筛选功能组中的编辑按钮,还有SQL语句中都是单引号表示字符串
表达式效率非常高,和VB代码无关.
比如在筛选功能组中的编辑按钮里面输入 [产品] = 'PD01' 就会筛选出PD01这个产品
2.
VB代码用双引号表示字符串.
Find、 Select 、GetUniqueValues 这些方法都是VB代码, 他们的参数是字符串,用双引号表示。
但是看帮助有说明,其中有一个参数是一个表达式。
比如 CurrentTable.Find("[产品] = 'PD01' ") 找出当前表产品为PD01的行
字符串参数"[产品] = 'PD01' " 双引号里面是一个表达式 [产品] = 'PD01'
3.用变量表示表达式中的字符串
如果想找出其他产品,比如PD02 PD03怎么办?
通过文本框或者组合框把 要筛选的产品传递给变量
Dim p As String = "PD02" '这里PD02可以来自其他控件
Dim Filter As String = "[产品] = ' " & p & " ' "
' 通过左拼右凑 凑出表达式。右边的字符串等效于 "[产品] = ' " & "PD02" & " ' " 等效于 "[产品] = 'PD02'"
Dim dr As DataRow = CurrentTable.Find(Filter)
1.
表达式用单引号表示字符串 比如表达式列,还有日常工作选项卡中排序与筛选功能组中的编辑按钮,还有SQL语句中都是单引号表示字符串
表达式效率非常高,和VB代码无关.
比如在筛选功能组中的编辑按钮里面输入 [产品] = 'PD01' 就会筛选出PD01这个产品
2.
VB代码用双引号表示字符串.
Find、 Select 、GetUniqueValues 这些方法都是VB代码, 他们的参数是字符串,用双引号表示。但是这个参数,又是一个表达式
比如 CurrentTable.Find("[产品] = 'PD01' ") 找出当前表产品为PD01的行
字符串参数"[产品] = 'PD01' " 双引号里面是一个表达式 [产品] = 'PD01'
3.用变量表示表达式中的字符串
如果想找出其他产品,比如PD02 PD03怎么办?
通过文本框或者组合框把 要筛选的产品传递给变量
Dim p As String = "PD02" '这里PD02可以来自其他控件
Dim Filter As String = "[产品] = ' " & p & " ' " ‘ 通过左拼右凑 凑出表达式
Dim dr As DataRow = CurrentTable.Find(Filter)
很清楚,学习了,谢谢!
1.
表达式用单引号表示字符串 比如表达式列,还有日常工作选项卡中排序与筛选功能组中的编辑按钮,还有SQL语句中都是单引号表示字符串
表达式效率非常高,和VB代码无关.
比如在筛选功能组中的编辑按钮里面输入 [产品] = 'PD01' 就会筛选出PD01这个产品
2.
VB代码用双引号表示字符串.
Find、 Select 、GetUniqueValues 这些方法都是VB代码, 他们的参数是字符串,用双引号表示。
但是看帮助有说明,其中有一个参数是一个表达式。
比如 CurrentTable.Find("[产品] = 'PD01' ") 找出当前表产品为PD01的行
字符串参数"[产品] = 'PD01' " 双引号里面是一个表达式 [产品] = 'PD01'
3.用变量表示表达式中的字符串
如果想找出其他产品,比如PD02 PD03怎么办?
通过文本框或者组合框把 要筛选的产品传递给变量
Dim p As String = "PD02" '这里PD02可以来自其他控件
Dim Filter As String = "[产品] = ' " & p & " ' "
' 通过左拼右凑 凑出表达式。右边的字符串等效于 "[产品] = ' " & "PD02" & " ' " 等效于 "[产品] = 'PD02'"
Dim dr As DataRow = CurrentTable.Find(Filter)
回答非常详细,谢谢!再请教一下,在第3项(用变量表示表达式中的字符串),如果变量需要与其他字符串在一起,怎么写,例如:
"[产品] like '%PD%' ",怎么把PD02用变量名代替?请答复,谢了!
不好意思,是我没说明白,我的意思,例如:Dim Filter As String = "[产品] like '%PD%'" ,不是查询包含PD的产品,我想查询包含某个字符串的产品,也就是两个%%之间的部分用一个变量名代替,请指教,谢了!
终于看明白了,是引号太多了,刚才没有看出来谁给谁是一对儿,是把几个部分串成了一个完整的表达多,多谢!以后还要多向您请教!