找不到文件 'E:\Programa\DTR\DTR\DTR\bin\Debug\OpenFileDialog1



这是我的代码。

openfiledialog1在以下内容下的值。

If OpenFileDialog1.FileName <> Nothing Or OpenFileDialog1.FileName <> "" Then
   txtempname.Text = OpenFileDialog1.FileName.Substring(
       OpenFileDialog1.FileName.LastIndexOf("") + 1,
       (OpenFileDialog1.FileName.IndexOf(".", 0) - (OpenFileDialog1.FileName.LastIndexOf("") + 1)))
End If

Dim fsreader As New FileStream(OpenFileDialog1.FileName, FileMode.Open, FileAccess.Read)
Dim bread As New BinaryReader(fsreader)
Dim imgbuffer(fsreader.Length) As Byte
bread.Read(imgbuffer, 0, fsreader.Length)
fsreader.Close()
commstring = "Update EMPLOYEES SET EMPID=@EMPID, EMPNAME=@EMPNAME, DEPARTMENT=@DEPARTMENT, STATUS=@STATUS, pic_file=@picfile WHERE EMPID = @EMPID"
con.Open()
cmd = New OleDbCommand(commstring, con)
cmd.Parameters.AddWithValue("@EMPID", txtempno.Text)
cmd.Parameters.AddWithValue("@EMPNAME", txtempname.Text)
cmd.Parameters.AddWithValue("@DEPARTMENT", txtaddep.Text)
cmd.Parameters.AddWithValue("@STATUS", cbostat.Text)
cmd.Parameters.AddWithValue("@pic_file", imgbuffer)
cmd.ExecuteNonQuery()
con.Close()

您是说If OpenFileDialog1.FileName而不是If Not OpenFileDialog1.FileName

我想您想在没有扩展的情况下获取文件名?如果是这样,则不需要所有这些" IndexOf"。他是一个简化的版本,应该有所帮助。

    If Not OpenFileDialog1.FileName Is Nothing And Not OpenFileDialog1.FileName = "" Then
        txtempname.Text = Path.GetFileNameWithoutExtension(OpenFileDialog1.FileName)
    End If

(PathImports System.IO(