以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何判断是否包含某主键  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194860)

--  作者:rogen
--  发布时间:2025/1/22 10:01:00
--  如何判断是否包含某主键
想实现不重复添加主键值,作为主表和子表的关联字段(2个表没有用自动编号字段来关联)
如主表的“主键”字段存储了: 40281,40430,40520,40685,40972,41284,41173,41284 。
其中的数字为子表的主键。
如何判断某个主键是否存在于该字符串内?
比如 4043就不存在,但40430就存在。


--  作者:有点蓝
--  发布时间:2025/1/22 10:12:00
--  
dim s as string = "40281,40430,40520,40685,40972,41284,41173,41284"
s = "," & s & ","
msgbox(s.contains(",4043,"))
msgbox(s.contains(",40430,"))

--  作者:rogen
--  发布时间:2025/1/22 10:15:00
--  
之前我是想用split将字符串分割成数组,
但分割后,我用contais或者indexof 来判断是否包含新值,都不行。

--  作者:有点蓝
--  发布时间:2025/1/22 10:18:00
--  
怎么用的?贴出代码
--  作者:rogen
--  发布时间:2025/1/22 10:24:00
--  
Dim zjs As String = "40281,40430,40520,40685,40972,41284,41173,41284,41173,41407,41569,41698"
Dim zjss() As String = zjs.Split(",")
msgbox(zjss.Contains(4052))
msgbox(zjss.IndexOf(4052))

这2种都不行,若行的话,我感觉这样更简单些。

--  作者:有点蓝
--  发布时间:2025/1/22 10:28:00
--  
Dim zjs As String = "40281,40430,40520,40685,40972,41284,41173,41284,41173,41407,41569,41698"
Dim zjss() As String = zjs.Split(",")
msgbox(zjss.Contains("4052"))
msgbox(array.IndexOf(zjss, "4052")) http://www.foxtable.com/webhelp/topics/0216.htm

--  作者:rogen
--  发布时间:2025/1/22 10:40:00
--  
原来是要将数字转为字符再做判断。