根据相对文件大小从数据绑定组合框中删除条目,VB.Net

Remove entries from a data binded combobox based on relative file size, VB.Net

我目前在 VB.NET visual studio express 2013 工作,后端是 SQL。我有一个 sql 查询,它从 sql 服务器中提取作业列表。从那里,这个列表被填充到一个组合框中,供生产主管将工作推送到制造中。 supervisor 可以将作业推送到几台不同的机器上。但是,每个列表都有一些 "empty" 个作业,例如,他可以将该作业推送到任何机器,但该机器可能没有分配给该作业的任务。要从列表中删除空白条目,我将不得不根据日期时间查找具有该职位描述的每个单独的 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

请注意,为了 space 节省和公司保护,我删除了实际的 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

这是有效的

谢谢,

您能否将该代码放在 Try-Catch 块中,以便我们捕获并输出异常?我怀疑这可能与您的 DataTable 有关。

Try
  If inforeader.Length <= 3333 Then
     row.Delete()
  End If
Catch (ex As Exception)
   MessageBox.Show(ex.Message)
End Try