我有一个sql字符串,如下所示:
select a, b, c from test where a = s and b = 3
具体使用C#2.0,我该如何获得:
a = s,b = 3
但是以集合的形式,一个成员是“a = s”,另一个是“b = 3”?
由于 附:表名已更改,但重点仍然是
编辑:我刚刚意识到我可以从哪里开始获得子串,然后将它分成可用的地方和一个和。还有更好的方法吗?
答案 0 :(得分:0)
您是否在询问如何参与sql查询字符串,拆分并将其存储在集合中?
使用内置字符串函数或构建正则表达式来提取它们。一种天真的方法是在'where'之后将sql字符串拆分,然后在每个逗号处再次拆分。
Dim sqlQuery As String = "select a, b, c from test where a = s, b = 3"
Dim lastPArt() As String = sqlQuery.Split(New String() {"where"}, StringSplitOptions.RemoveEmptyEntries)(1).Split(","c)
这只处理拆分逗号分隔的where条件。如果应支持更多条件,例如“And”或“Or”,则将它们添加到第二次拆分调用的数组中:
.Split(New String(){",", "or", "and"}, StringSplitOptions.RemoveEmptryEntries)
隔离这些条件的目的是什么?