2017-11-09 12 views
1

'エラーは、 'system.byte []'タイプのオブジェクトを 'system.iconvertible'にキャストすることができません。私は何をすべきか?誰でも....タイプ 'system.byte'のオブジェクトをキャストできません。 'system.iconvertible in vb.net

  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 
+0

エラーがどこを告げずに生成されていることを教えないでください。ときどき明白なこともありますが、時にはあまり明白でない場合もありますが、それがどこにあるのかは事実上不可能です。あなたがどこにそれを教えたら、最初にそれを働かせるのに時間を無駄にする必要はありません。 – jmcilhinney

+0

間違っているわけではありませんが、 'CommandType'を' Text'に設定するのは、デフォルト値であるためです。 – jmcilhinney

答えて

0

あなたのパラメータを追加する方法は間違っています。あなたはAddAddWithValueの使用をミックスしています。この:

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

またはこの:

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

は、このいずれかでなければなりません

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

ありがとうございました!私はそれが私のプロジェクトでうまくいくと思います。そして、エラーがどこにあるのか知らないのは残念です。どうもありがとう – jimSabandalx