当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > VB.NET 数据库查询 [SQL字符串的生成]

ASP.NET
Proxy
关于DEV的TreeList控件的使用(1)
用C#给程序加启动画面并只允许一个应用程序实例运行
Vb.net进阶:.NET 中的代码页(CodePage)
XMLHTTP 对象及其方法简介
C#:获得文件版本信息及只读文件的删除
C#:文件的按行读/写及文件目录对话框的使用
What is Mono?
C#:ListBox的2个常用方法Add,Clear与Items的2个属性
使用属性和反射过渡从数据存取层到业务物件1
安装Mono
使用属性和反射过渡从数据存取层到业务物件 - II
Mono介绍(无图片)
[JavaScript]一段把客户端的中文字串转换成UTF-8的代码
Mono 基本概念
Hello Mono
对开发的程序(制作CAB)进行签名,并允许网站中使用
锁住你的EXCEL
DCG升级了!
怎样在C#中调用Delphi6写的DLL

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 82 ::
收藏到网摘: n/a

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

'-----接受要处理的字符串-------
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-------