16,549
社区成员
发帖
与我相关
我的任务
分享
If SearchIndex Then '如果选择了从数据库中搜索
Dim cmdtext As String = "" '定义SQL语句变量
If FSizeValue = FileSizeCode.Unlimited Then ‘如果选择“不限文件大小”
Dim args() As String = {fname, CreatonTime, ModifiedTime, extName} ’参数
If Not SearchFullPath Then ‘如果没选择“从文件路径中搜索”
cmdtext = String.Format("SELECT * FROM [searchindex] WHERE index_filename like ""*{0}*"" AND index_ctime < #{1}# AND index_mtime < #{2}# AND index_extension like ""{3}*""", args) ’生成sql
Else
cmdtext = String.Format("SELECT * FROM [searchindex] WHERE index_path like ""*{0}*"" AND index_ctime < #{1}# AND index_mtime < #{2}# AND index_extension like ""{3}*""", args)
End If
Else
Dim fsize1 As Long, fsize2 As Long = -1
Select Case FSizeValue
Case FileSizeCode.Big
fsize1 = 1 * 1024 * 1024 : fsize2 = 16 * 1024 * 1024
Case FileSizeCode.Medium
fsize1 = 128 * 1024 : fsize2 = 1048576
Case FileSizeCode.Small
fsize1 = 64 * 1024 : fsize2 = 128 * 1024
Case FileSizeCode.Super
fsize1 = 16 * 1024 * 1024 : fsize2 = 128 * 1024 * 1024
Case FileSizeCode.Tiny
fsize1 = 0 : fsize2 = 64 * 1024
Case FileSizeCode.Empty
fsize1 = 0
Case FileSizeCode.Huge
fsize1 = 128 * 1024 * 1024
End Select
If fsize2 <> -1 Then
Dim args() As String = {fname, CreatonTime, ModifiedTime, fsize1, fsize2, extName}
If SearchFullPath Then
cmdtext = String.Format("SELECT * FROM [searchindex] WHERE index_path like ""*{0}*"" AND index_ctime < #{1}# AND index_mtime < #{2}# AND index_size > {3} AND index_size <= {4} AND index_extension like ""{5}*""", args)
Else
cmdtext = String.Format("SELECT * FROM [searchindex] WHERE index_filename like ""*{0}*"" AND index_ctime < #{1}# AND index_mtime < #{2}# AND index_size > {3} AND index_size <= {4} AND index_extension like ""{5}*""", args)
End If
Else
If fsize1 = 0 Then
Dim args() As String = {fname, CreatonTime, ModifiedTime, fsize1, extName}
If SearchFullPath Then
cmdtext = String.Format("SELECT * FROM [searchindex] WHERE index_path like ""*{0}*"" AND index_ctime < #{1}# AND index_mtime < #{2}# AND index_size = {3} AND index_extension like ""{4}*""", args)
Else
cmdtext = String.Format("SELECT * FROM [searchindex] WHERE index_filename like ""*{0}*"" AND index_ctime < #{1}# AND index_mtime < #{2}# AND index_size = {3} AND index_extension like ""{4}*""", args)
End If
Else
Dim args() As String = {fname, CreatonTime, ModifiedTime, fsize1, fsize2, extName}
If SearchFullPath Then
cmdtext = String.Format("SELECT * FROM [searchindex] WHERE index_path like ""*{0}*"" AND index_ctime < #{1}# AND index_mtime < #{2}# AND index_size > {3} AND index_size <= {4} AND index_extension like ""{5}*""", args)
Else
cmdtext = String.Format("SELECT * FROM [searchindex] WHERE index_filename like ""*{0}*"" AND index_ctime < #{1}# AND index_mtime < #{2}# AND index_size > {3} AND index_size <= {4} AND index_extension like ""{5}*""", args)
End If
End If
End If
End If
Dim cmd As New OleDbCommand(cmdtext, c.PConn)
Dim dr As OleDbDataReader = cmd.ExecuteReader '这里读不到数据,但是数据库里确实有
While dr.Read
Dim lst As New ListViewItem
lst.Text = dr("index_filename")
lst.SubItems.Add(dr("index_path"))
lst.SubItems.Add(dr("index_ctime"))
lst.SubItems.Add(dr("index_mtime"))
lst.SubItems.Add(dr("index_size"))
lst.SubItems.Add(dr("index_extension"))
list.Add(lst)
End While
dr.Close()
cmd.Dispose()