mysql - 将图像保存到 mysql 数据库时出现无法将类型 'System.Byte[]' 的对象转换为类型 'System.IConvertible' 错误

标签 mysql vb.net visual-studio-2010

我的代码在将图像保存到 mysql 数据库时遇到问题。有人能帮助我吗?

Sub newstud()
    If cbCard.Checked = True Then
        card = "COMPLETE"
    End If
    If cbBirthCert.Checked = True Then
        birthcert = "COMPLETE"
    End If
    If cbForm.Checked = True Then
        form = "COMPLETE"
    End If
    If cbGMoral.Checked = True Then
        gmoral = "COMPLETE"
    End If

    If picStr = vbNullString Then
        picImage.Image.Save(".png", Imaging.ImageFormat.Png)
        picStr = Application.StartupPath + (".\noimage.png")
    End If


    IMG = (Nothing)
    IMG = Image.FromFile(picStr)

    MyStream = New MemoryStream
    IMG.Save(MyStream, Imaging.ImageFormat.Png)

    Dim con As New MySqlConnection(conStr)
    con.Open()
    Try
        Dim cmd As New MySqlCommand("insert into tbregistration(StudName,StudBday,StudGender,Address,DadName,DadBday,DadOccupation,MomName,MomBday,MomOccupation,Contact,LastSchool,Card,Form137,BirthCertificate,GoodMoral,Image)values('" & txtStudName.Text & "','" & dtpBirthday.Text & "','" & cmbGender.Text & "','" & txtAddress.Text & "','" & txtDadName.Text & "','" & dtpDadBday.Text & "','" & txtDadOccu.Text & "','" & txtMomName.Text & "','" & dtpMomBday.Text & "','" & txtMomOccu.Text & "','" & txtContact.Text & "','" & txtLastSchool.Text & "','" & card & "','" & form & "','" & birthcert & "','" & gmoral & "',@img,'"")", con)
        cmd.Parameters.AddWithValue("@img", MySqlDbType.VarBinary).Value = MyStream.GetBuffer
        cmd.ExecuteNonQuery()
        cmd.Dispose()

        MyStream.Dispose()
        MyStream = Nothing
        MsgBox("Admission done successfully", , "Admission")
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

这是我的保存按钮的代码

Dim imgdlg As FileDialog = New OpenFileDialog()
    imgdlg.Filter = "Image File (*.jpg;*.bmp;*.gif;*.png)|*.jpg;*.bmp;*.gif;*.png"


If imgdlg.ShowDialog() = DialogResult.OK Then
    picStr = imgdlg.FileName
Else
    picStr = ""
    Exit Sub

End If

picImage.Image = Drawing.Image.FromFile(picStr)

这是浏览图像按钮。请帮我。非常感谢

最佳答案

您的意思是写:

Dim cmd As New MySqlCommand("insert into tbregistration(StudName,StudBday,StudGender,Address,DadName,DadBday,DadOccupation,MomName,MomBday,MomOccupation,Contact,LastSchool,Card,Form137,BirthCertificate,GoodMoral,Image)values('" & txtStudName.Text & "','" & dtpBirthday.Text & "','" & cmbGender.Text & "','" & txtAddress.Text & "','" & txtDadName.Text & "','" & dtpDadBday.Text & "','" & txtDadOccu.Text & "','" & txtMomName.Text & "','" & dtpMomBday.Text & "','" & txtMomOccu.Text & "','" & txtContact.Text & "','" & txtLastSchool.Text & "','" & card & "','" & form & "','" & birthcert & "','" & gmoral & "',@img,'"")", con)
cmd.Parameters.AddWithValue("@img", SqlDbType.VarBinary).Value = MyStream.GetBuffer
cmd.ExecuteNonQuery()

请注意第 2 行从 MySqlDbTypeSqlDbType 的更改

关于mysql - 将图像保存到 mysql 数据库时出现无法将类型 'System.Byte[]' 的对象转换为类型 'System.IConvertible' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45605245/

相关文章:

c++ - Boost 1.45 - 1.49 在使用 Visual Studio 2010 时与 MySql C++ Connector 1.1 中断

asp.net - ASP .NET 到 MySQL : Are persistent connections possible? 如何?

vb.net - VB 组合框.NewIndex

vb.net - xslt.Load(新 XmlTextReader(新 StringReader(xslt))) "xslt compile error"

c++ - MFC 无法生成动态 DLL 文件

visual-studio-2010 - 将 HTML5 标记添加到 MVC3 站点

mysql - GenerationType 和 MySQL 错误

python - 从 python 应用程序连接到 mysql 集群

PHP/MYSQL : A removed row is still displayed in my page after a reload

vb.net - 欧洲/都柏林的 NodaTime DST 问题