该进程无法访问文件'F:\ copy back up \ system \ HRM 2-5-2013 \ HRM \ HRM \ lanbased.txt',因为它正由另一个进程使用。 这是我在sub main中的代码
Public localhost As String
Public username As String
Public port As String
Public database As String
Public conn As New MySqlConnection
Public NAME1 As String = "F:\copy back up\system\HRM 2-5-2013\HRM\HRM\lanbased.txt"
Public Sub main()
Dim frm As New Form1
Dim frm1 As New create
If System.IO.File.Exists(NAME1) = True Then
Try
Dim objReader As New System.IO.StreamReader(NAME1)
localhost = objReader.ReadLine() & vbNewLine
username = objReader.ReadLine() & vbNewLine
port = objReader.ReadLine() & vbNewLine
database = objReader.ReadLine() & vbNewLine
conn.ConnectionString = "server=" & Trim(localhost) & ";user id=" & Trim(username) & "; password=" & Trim(port) & "; database=" & Trim(database) & ""
conn.Open()
Application.Run(New Form1())
Catch ex As Exception
MsgBox("Unable to connect to database", vbCritical)
Application.Run(New create())
End Try
End If
Exit Sub
End Sub
这是我的表单创建的代码。 如何在另一个进程使用该文件时访问该文件?
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim FILE_NAME As String = "F:\copy back up\system\HRM 2-5-2013\HRM\HRM\lanbased.txt"
If TextBox1.Text = Nothing Or TextBox2.Text = Nothing Or TextBox3.Text = Nothing Or TextBox4.Text = Nothing Then
MsgBox("fill up mo pa ngot")
ElseIf System.IO.File.Exists(FILE_NAME) = True Then
Dim objWriter As New System.IO.StreamWriter(FILE_NAME)
objWriter.Write(TextBox1.Text + vbCrLf)
objWriter.Write(TextBox2.Text + vbCrLf)
objWriter.Write(TextBox3.Text + vbCrLf)
objWriter.Write(TextBox4.Text + vbCrLf)
objWriter.Close()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
ElseIf conn.State = True Then
MsgBox("maka connect naka")
End If
End Sub
答案 0 :(得分:2)
首先打开文件阅读:
Dim objReader As New System.IO.StreamReader(NAME1) //1st open
其次,您调用form1:Application.Run(New Form1())
在该表格中:Dim objWriter As New System.IO.StreamWriter(FILE_NAME) //2nd open
但是等you didn't close your file
所以你不能第二次打开它。
因此,您需要关闭文件before calling create form 1
,例如objReader.close()
conn.Open()
objReader.close() <----- this one
Application.Run(New Form1())
答案 1 :(得分:1)
在打开新表单之前,您似乎需要关闭streamReader:
objReader.Close()
这将释放文件。