繁体   English   中英

无法在vb.net中将类型为'system.byte'的对象转换为类型为'system.iconvertible'

[英]Unable to cast object of type 'system.byte ' to type 'system.iconvertible in vb.net

该错误表明无法将类型为'system.byte []'的对象转换为类型'system.iconvertible。 我该怎么办? 任何人....

            Dim ms1 As New MemoryStream
            Dim ms2 As New MemoryStream
            Dim data1 As Byte()
            Dim data2 As Byte()



            PictureBox1.Image.Save(ms1, ImageFormat.Jpeg)
            PictureBox2.Image.Save(ms2, ImageFormat.Jpeg)

            data1 = ms1.ToArray()
            data2 = ms2.ToArray()


            cmd.CommandType = CommandType.Text

            cmd.Parameters.AddWithValue("@signature", SqlDbType.VarBinary).Value = data2
            cmd.Parameters.AddWithValue("@picture", SqlDbType.VarBinary).Value = data1

            Using sda As New MySqlDataAdapter(cmd)
                Try
                    con.Open()
                    cmd.ExecuteNonQuery()
                    MsgBox("Data Inserted!")
                Catch ex As Exception
                    MsgBox(ex.Message)
                    con.Close()

                End Try

您添加参数的方式是错误的。 您正在混淆AddAddWithValue的使用。 这个:

cmd.Parameters.AddWithValue("@signature", SqlDbType.VarBinary).Value = data2

应该是这样的:

cmd.Parameters.AddWithValue("@signature", data2)

或这个:

cmd.Parameters.Add("@signature", SqlDbType.VarBinary).Value = data2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM