我在下面代码中的where子句中得到一个错误。错误状态为:“无法将'System.IO.DirectoryInfo‘类型的对象强制转换为'System.IO.FileInfo’类型
Try
Dim query As MySqlCommand = SQLConnection.CreateCommand
Dim dir As DirectoryInfo = New DirectoryInfo("\\10.2.1.40\IT\BACKUPDATA\MBP_DATA\")
For Each fi As FileInfo In dir.GetFileSystemInfos
query.CommandText = "UPDATE backup_db set tgl = @date1, ukuran = @ukuran, issaturday = @issaturday, iseom = @iseom, pic = @pic
' WHERE ukuran = 0 and tgl = @date1"
query.Parameters.Clear()
query.Parameters.AddWithValue("@date1", fi.LastWriteTime.ToString("yyyy-MM-dd"))
query.Parameters.AddWithValue("@ukuran", fi.Length)
query.Parameters.AddWithValue("@issaturday", "0")
query.Parameters.AddWithValue("@iseom", "0")
query.Parameters.AddWithValue("@pic", "Carles")
query.ExecuteNonQuery()
Next
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Information)
End Try发布于 2019-01-15 17:27:34
GetFileSystemInfos返回非FileInfo的FileSystemInfo数组
For Each fi As FileSystemInfo In dir.GetFileSystemInfos()
' ... '
NextFileInfo也是FileSystemInfo,因为它是一个子类,但反之亦然。DirectoryInfo.GetFileSystemInfos返回文件和目录。所以你不能把它们转换成FileInfo。
但是由于您需要Length,所以我假设您实际上只需要文件。然后使用GetFiles
For Each fi As FileInfo In dir.GetFiles()
' ... '
Nexthttps://stackoverflow.com/questions/54195871
复制相似问题