(VB6)一个可以帮你实现多条件数据库搜索的函数

这个函数是我为了自己一款软件的开发需要而研究的,可以像搜索引擎那样输入多个搜索词进行搜索。比如我输入“张三 李四”,就可以在数据库中查找包含张三和李四的记录,而且这个函数调用很方便,下面就看代码吧。

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
Private Function MultiSQLSearch(TableName As String , SearchFields As String , SearchStr As String ) As String
Dim itemSearchStr() As String ' 搜索字符串
Dim itemSearchFields() As String ' 搜索字段
Dim SearchStrFormat As String ' 区分搜索字符串
Dim SearchFieldsFormat As String ' 区分搜索字段
Dim strSearch As String
Dim strSearchSQL As String
Dim i As Long
Dim m As Long
SearchStrFormat
= " "
SearchFieldsFormat
= " , "
itemSearchStr
= Split (SearchStr, SearchStrFormat)
If UBound (itemSearchStr) = - 1 Then
ReDim itemSearchStr( 0 )
itemSearchStr(
0 ) = ""
End If
' 分开多个关键字搜索
For i = 0 To UBound (itemSearchStr)
' 生成SQL语句头
strSearch = itemSearchStr(i)
If i = 0 Then
strSearchSQL
= " select * from [ " & TableName & " ] where (instr( "
Else
strSearchSQL
= strSearchSQL & " and (instr( "
End If
' 分开字段搜索关键字
itemSearchFields = Split (SearchFields, SearchFieldsFormat)
For m = 0 To UBound (itemSearchFields)
If m = 0 Then
strSearchSQL
= strSearchSQL & itemSearchFields(m) & " ,"" "
Else
strSearchSQL
= strSearchSQL & " or instr( " & itemSearchFields(m) & " ,"" "
End If
strSearchSQL
= strSearchSQL & Trim (strSearch) & " "") "
Next
strSearchSQL
= strSearchSQL & " ) "
Next
MultiSQLSearch
= strSearchSQL
End Function

 

 

调用只要使用类似 SQL=MultiSQLSearch("表1", "字段1,字段2,字段3", "张三 李四")即可。

转载于:https://www.cnblogs.com/zilin/articles/1713266.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值