vb.net:如何修复给定路径的格式不受支持的错误

pieyvz9o  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(350)

我是这里的新手,我需要帮助来解决我的代码问题。我的项目是使用vb.net代码将pdf文件存储到mysql数据库。我对下面的代码有问题,这些代码可以解决这个问题:
错误:
不支持给定路径的格式
这是我的代码和数据库表,使用mediumblob作为数据类型

Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsimpan.Click

    'codes to save the pdf
    Dim filesize As UInt32
    Dim rawData() As Byte = IO.File.ReadAllBytes(strFilename)
    Dim fs As FileStream

    Try
        fs = New FileStream("'" & strFilename & "'", FileMode.Open, FileAccess.Read)
        filesize = fs.Length

        rawData = New Byte(filesize) {}
        fs.Read(rawData, 0, filesize)
        fs.Close()

        conn.Open()
        cmd = New MySql.Data.MySqlClient.MySqlCommand("INSERT INTO simpanambilpdf VALUES (NULL, @FileName, @FileSize, @File)", conn)
        cmd.Parameters.AddWithValue("@FileName", strFileName)
        cmd.Parameters.AddWithValue("@FileSize", filesize)
        cmd.Parameters.AddWithValue("@File", rawData)
        cmd.ExecuteNonQuery()
        MessageBox.Show("Congratulations PDF file is saved!", "HORE", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
        conn.Close()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

请给我一些答复或建议。谢谢您

im9ewurl

im9ewurl1#

我再也受不了了,所以我要提供代码:

Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsimpan.Click
    'codes to save the pdf
    Dim rawData() As Byte = IO.File.ReadAllBytes(strFilename)
    Dim filesize As UInt32 = rawData.Length

    Try    
        conn.Open()
        cmd = New MySql.Data.MySqlClient.MySqlCommand("INSERT INTO simpanambilpdf VALUES (NULL, @FileName, @FileSize, @File)", conn)
        cmd.Parameters.AddWithValue("@FileName", strFileName)
        cmd.Parameters.AddWithValue("@FileSize", filesize)
        cmd.Parameters.AddWithValue("@File", rawData)
        cmd.ExecuteNonQuery()
        MessageBox.Show("Congratulations PDF file is saved!", "HORE", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
        conn.Close()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

这正是我一直在说的。我还没有运行代码,但据我所知,它应该完全符合您的要求。如果不能解释到底发生了什么,我们可以具体解决。谈论一个 NullReferenceException 一次又一次地不告诉我们它被扔到哪里是没有价值的。
也就是说,如果你得到 NullReferenceException 首先要做的是确定哪个引用是空的,然后向后看您希望在哪里设置它,然后找出为什么没有设置它或者之后清除了它。这就是调试的用武之地。如果您不知道如何调试,即设置断点和单步执行代码,那么现在就开始学习,从这里开始。另外,请查看此线程以了解如何处理 NullReferenceExceptions 明确地。

相关问题