以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]实在受不了了,求助 like  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=51404)

--  作者:E_Fox
--  发布时间:2014/5/26 13:47:00
--  [求助]实在受不了了,求助 like
Dim a As String = "abc"
Dim b As String = "ab"
Dim c As String =  "\'%" & b & "%\'"
Output.Show(c)
Output.Show( a Like c)


为什么是 false

--  作者:狐狸爸爸
--  发布时间:2014/5/26 13:51:00
--  

1、代码用*

2、代码不需要单引号。

 

 

Dim a As String = "abc"
Dim b As String = "ab"
Dim c As String =  "*" & b & "*"
Output.Show(c)
Output.Show( a Like c)

 

表达式才需要%,才需要单引号


--  作者:E_Fox
--  发布时间:2014/5/26 14:12:00
--  
Dim a As String = "abc"
Dim b As String = "ab"
Dim bh As String = "like"
Dim c As String =  cexp("\'{0}\' {1} \'*{2}*\'",a,bh,b)
Output.Show(c)

Output.Show( eval(c))

output.Show("abc" Like "*ab*")

因为在程序中用的是变量,所以要用表达式求值.   再次求助!

--  作者:Bin
--  发布时间:2014/5/26 14:14:00
--  
没办法看懂你到底想干什么.
--  作者:Bin
--  发布时间:2014/5/26 14:15:00
--  
eval 并不支持 这样的表达式输出结果.  EVAl只能计算数学式
--  作者:有点甜
--  发布时间:2014/5/26 14:18:00
--  

 如果要字符串计算,看这里。

 

http://www.foxtable.com/help/topics/1487.htm

 


--  作者:E_Fox
--  发布时间:2014/5/26 14:44:00
--  
因为在计算数值比较时用到 eval ,所以在字符串比较时也顺用,没想到不成立 ,

钻了一上午牛角尖, 已自己解决

Dim a As String = "abc"     \'取自列表值    列内容
Dim b As String = "ab"      \'文本框输入值
Dim bh As String = "like"   \'取自列表值    运算符 包括( "=",">","<","like","not like" ) 等
\'---- 上面是可变量 -----

If bh.Contains("like") = True Then     \'----如果运算符为 like 
    output.show(a.Contains(b))    
End If

BIN 说的对
eval 并不支持 这样的表达式输出结果.  EVAl只能计算数学式
[此贴子已经被作者于2014-5-26 14:47:43编辑过]