【问题标题】:saving blobs in mysql with visual basic使用visual basic在mysql中保存blob
【发布时间】:2023-03-15 03:12:01
【问题描述】:

我有一个 pdf 文件,我将其转换为字节,但它说:

There was an error: Invalid data type

不知道是不是我做错了,这样可以保存pdf吗? 我的数据库是这个

CREATE TABLE emision_modificacion_eliminacion(
id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
file_name VARCHAR(64) NOT NULL,
file_size MEDIUMINT UNSIGNED NOT NULL,
file MEDIUMBLOB NOT NULL);

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)               Handles   Button2.Click
    Dim fs As FileStream
    Dim FileSize As UInt32
    Dim rawData() As Byte
    Dim cmd As New MySQLCommand
    Try
        fs = New FileStream("C:\Objetivos.pdf", FileMode.Open, FileAccess.Read)            
        FileSize = fs.Length
        rawData = New Byte(FileSize) {}
        fs.Read(rawData, 0, FileSize)
        fs.Close()
        cmd = conxv.crear_consulta(cnn, "INSERT INTO emision_modificacion_eliminacion VALUES(NULL,'Objetivos.pdf', ?FileSize,?File)")
        cmd.Parameters.Add("?FileSize", FileSize)
        cmd.Parameters.Add("?File", rawData)
        cmd.ExecuteNonQuery()
        MessageBox.Show("File Inserted into database successfully!", _
        "Success!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
        cnn.Close()
    Catch ex As Exception
        MessageBox.Show("There was an error: " & ex.Message, "Error", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        cnn.Close()
    End Try
End Sub

【问题讨论】:

    标签: mysql sql winforms visual-studio vba


    【解决方案1】:

    您确定是 BLOB 给您带来了麻烦吗?

    你不需要为 AUTO_INCREMENT 类型传递任何东西,所以我会像这样重写 SQL:

    "INSERT INTO emision_modificacion_eliminacion VALUES('Objetivos.pdf', ?FileSize, ?File)"
    

    可能是null 导致了错误。

    【讨论】:

    • 是的,我会在这里尝试另一个转换
    猜你喜欢
    • 2012-12-10
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多