用在短信查询,定位行,返回第二列的值即可。
其实用like就很简单,实际应用中第一列的值是纯数字固定位数的随机唯一编号,我可以先限制查询输入的位数,再使用like加通配符,但不知这样会不会出现查询结果是两个以上的情况。我需要查询出来的结果也必须是唯一的。
帮助中可参考的代码是这样的,可这段代码不是针对多值列的。
If
e.Content.StartsWith("**")
Then
'如果信息是以约定的**开始
Dim vals() As
String = e.Content.Trim("*").Split("*")
Dim ret As
String
Dim flt As
String
For
Each val As
String
In vals
If flt > ""
Then
flt = flt & ","
End
If
flt = flt & "'" & val &
"'"
Next
If flt > "" Then
Dim drs As
List(Of
DataRow) = DataTables("库存").Select("产品 In
(" & flt & ")")
For
Each dr As
DataRow
In drs
If ret > ""
Then
ret = ret & vbcrlf
End
If
ret =
ret & "产品:" & dr("产品")
& " 库存:" &
dr("数量") &
" 单价:" &
dr("单价")
Next
If ret = ""
Then
ret = "无此产品:" & e.Content
End
If
Else
ret = "格式错误:" & e.Content
End
If
FoxSms.DelMsgForIndex(e.Index) '从SIM卡删除此短信
FoxSMS.SendMsg(e.FromNumber,ret)
End
If