积极答复者
大家帮忙看看这段代码有什么问题(vb.net)??

问题
-
Private Sub BtBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtBack.Click Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Picture.mdb;Persist Security Info=True;Jet OLEDB:Database Password=lt;" Dim dbConnection As OleDbConnection = New OleDbConnection(dbConnectionString) dbConnection.Open() Dim di As New IO.DirectoryInfo(Application.StartupPath & "\picturetemp") ' 创建一个数组代表当前目录中的文件. Dim fi As IO.FileInfo() = di.GetFiles() ' 打印出当前目录中的文件的名称 Dim fiTemp As IO.FileInfo Dim j As Integer = 1 If num = 1 Then MsgBox("已经是第一条记录了") Else For Each fiTemp In fi If j = num - 1 Then 'MsgBox(fiTemp.Name) PictureBox1.Image = Image.FromFile(Application.StartupPath & "\picturetemp\" & fiTemp.Name) '显示图片信息 Dim i As Integer For i = 1 To Len(fiTemp.Name) If Mid(fiTemp.Name, i, 1) = "@" Then id = Mid(fiTemp.Name, i + 1, Len(fiTemp.Name) - i) Exit For End If Next Dim dbcommand1 As OleDbCommand dbcommand1 = New OleDbCommand("select piclx,picname,pictime,picformat,picdescription from picInfo where picid=" & id, dbConnection) Dim dr1 As OleDbDataReader = dbcommand1.ExecuteReader If dr1.Read Then Labellx.Text = dr1("piclx") Labelname.Text = dr1("picname") Labelformat.Text = dr1("picformat") Labeltime.Text = dr1("pictime") Labeldes.Text = dr1("picdescription") End If Exit For End If j = j + 1 Next num = num - 1 End If dbConnection.Dispose() dbConnection.Close() End Sub
昨夜西风凋碧树,独上高楼,望尽天涯路!- 已编辑 litianlt 2009年8月31日 3:12
答案
全部回复
-
你好 因为你使用了 Image.FromFile
但在执行另外一段代码之前却没有将Image释放,Image是实现了IDisposable接口的
Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond