我目前在带有 SQL 后端的 VB.NET Visual Studio Express 2013 中工作。我有一个从 sql 服务器中提取作业列表的 sql 查询。从那里,这个列表被填充到一个组合框中,供生产主管将工作推向制造业。主管可以将作业推送到几台不同的机器上。但是,每个列表都有一些“空”作业,例如,他可以将该作业推送到任何机器,但该机器可能没有分配给该作业的任务。要从列表中删除空白条目,我将不得不根据日期时间查找具有该职位描述的每个单独的 PDF 文件,并检索文件大小。由于 pdf 是自动生成的,因此空白文件将始终具有相同的文件大小。然后我将交叉引用文件大小,如果它等于或小于空文件大小,它将从列表中删除它。我对比较文件大小的交叉引用感到困惑。当我尝试将文件的大小与整数进行比较时,它会抛出一个错误,我似乎无法弄清楚为什么,我对 VB.Net 的 IO 位相当陌生。这是我的代码:
For Each row As DataRow In dt.Rows
Try
Dim year As String = Now.Year
'Dim InfoReader As System.IO.FileInfo
inforeader = My.Computer.FileSystem.GetFileInfo("document.pdf")
'MsgBox("File is " & InfoReader.Length & "bytes")
Catch ex As Exception
Dim year As String = Now.Year
'Dim InfoReader As System.IO.FileInfo
inforeader = My.Computer.FileSystem.GetFileInfo("document.pdf")
'MsgBox("File is " & InfoReader.Length & "bytes")
End Try
If inforeader.Length <= 3333 Then
row.Delete()
End If
Next row
请注意,为了节省空间和保护公司,我删除了实际的 pdf 文件路径。另外,不要担心年份或评论,这是程序的一部分。我的问题是“inforead.length <= 3333”
编辑(解决方案)---------------------------------------------- ------------
Dim TheSize As ULong = My.Computer.FileSystem.GetFileInfo(document.pdf").Length
Select Case TheSize
Case Is >= 1
MsgBox("Blamo")
End Select
这是有效的
谢谢,