当前位置:首页 > 网络编程 > 软件语言 > .NET > VB.NET 数据库查询 [SQL字符串的生成]

VB.NET 数据库查询 [SQL字符串的生成]

点击次数:63 次 发布日期:2008-11-06 08:05:33 作者:源代码网
源代码网推荐
广告载入中

源代码网整理以下---------SQL生成---------- 
任务是当用户以逗号来分隔查询的条件,的多条件查询,使用IN(x,y),但是当在数据库(ACCESS)对应的字段是字符型是就会出现错误,那是当然的!如果是IN(’x’,’y’)就没有问题! 
下面的代码就是对字符串的操作,返回 ’x’,’y’。  

软件开发网 www.mscto.com

源代码网整理以下’-----接受要处理的字符串------- 
Function Tool_disTest(ByVal TextBefore As String) 
Dim TextAfter() As String 
Dim intNum, intTextLen, k, i As Integer 
intNum = 1 
intTextLen = Len(TextBefore) 
’--------计算有多少的查询条件-------- 
For i = 1 To intTextLen 
If Mid(TextBefore, i, 1) = "," Then 
intNum = intNum + 1 
End If 
Next 
’----------------------------------- 
ReDim TextAfter(intNum) 
k = 1 
’--------把每个条件放到数组里--------- 
For i = 1 To intTextLen 
If Mid(TextBefore, i, 1) = "," Then 
k += 1 
Else 
TextAfter(k) = TextAfter(k) & Mid(TextBefore, i, 1) 
End If 
Next 
’---------------------- 
Dim strTemp As String 
’--------为每一个条件加上’’---------- 
For i = 1 To intNum 
strTemp = TextAfter(i) 
TextAfter(i) = "’" & strTemp & "’" 
Next 
’---------------------- 
strTemp = "" 
’------添加分隔条件用的","------ 
For i = 1 To intNum 
strTemp = strTemp & TextAfter(i) & "," 
Next 
’------------------ 
’------去除最后一个,------ 
strTemp = Mid(strTemp, 1, Len(strTemp) - 1) 
’------------------- 
Return strTemp 
End Function 

源代码网整理以下最后在SQLServer中又试了试,发现SQLServer查询的时候用IN(x,y)来查询字符型是OK的,(SQLServer就是比ACCESS强点,呵呵) 
---------end------- 


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华