ma初学者n设计了一个将图像保存在硬盘上并将其名称保存在sql表中的测试应用程序。我能够保存、浏览记录但无法删除图像。
它给了我错误该进程无法访问文件'x',因为在删除图像时它正在被另一个进程使用
代码如下:
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 处理 btnDelete.Click isProcName = "btnDelete_Click" OBJ = New clsImageStoring
Try
Dim result As DialogResult = MessageBox.Show(Me, "Do you really want to delete this Record?", "Query", vbYesNo, vbQuestion)
If result = Windows.Forms.DialogResult.Yes Then
iiId = DGV.Rows(iiRowno).Cells(0).Value
iiImageNo = DGV.Rows(iiRowno).Cells(1).Value
Dim liTempImageNo As Int64 = 0
If OBJ.Delete(iiId) Then
Fillgrid()
liTempImageNo = DGV.Rows(0).Cells(1).Value
picEmp.Image.Dispose()
picEmp.Image = Image.FromFile("D:\EmpImages\" & liTempImageNo & ".jpg")
'File.Delete("D:\EmpImages\" & iiImageNo & ".jpg")
FileIO.FileSystem.DeleteFile("D:\EmpImages\" & iiImageNo & ".jpg")
MessageBox.Show(Me, "Record Deleted Successfully", "Information", vbOKOnly, vbInformation)
End If
End If
Catch ex As Exception
clsLog.WriteException(ex, isModuleName, isProcName)
End Try
End Sub
我尝试从图片框中处理图像并在图片框中加载另一个图像,除了 Image 类的 From file 方法之外,我不使用任何文件对象打开文件。
任何帮助将不胜感激谢谢
处置没有用。它没有处理图像,该图像仍在使用中,但是当我尝试手动删除该特定图像时,我向我显示该文件已被“ vshost.exe ”使用的错误,这是我的应用程序本身。因此,正如詹姆斯所说,我使用文件流在图像框中加载图片,但是当我尝试使用以下代码删除任何图像时,它仍然给了我错误:
File.Delete("D:\EmpImages\" & iiImageNo & ".jpg")
File.Delete("D:\EmpImages\" & iiImageNo & ".jpg")
所以我尝试了这个
FileSystem.Kill("D:\EmpImages\" & iiImageNo & ".jpeg")
它奏效了。谢谢詹姆斯和所有为我付出宝贵时间的人