进程无法访问文件"F:\copy backup\system\HRM 2-5-2013\HRM\HRM\lanbased.txt",因为其他进程正在使用该文件。这是我在副主中的代码
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 upsystemHRM 2-5-2013HRMHRMlanbased.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
这是我表单create中的代码。当另一个进程正在使用该文件时,我如何访问该文件?
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 upsystemHRM 2-5-2013HRMHRMlanbased.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
首先在这里打开文件进行阅读:
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
,这样您就无法第二次打开它进行写入。
所以你需要像objReader.close()
一样关闭文件before calling create form 1
conn.Open()
objReader.close() <----- this one
Application.Run(New Form1())
在打开新表单之前,似乎需要关闭streamReader:
objReader.Close()
这将释放文件。