2016-07-25 64 views
-1

使用.NET的MysqlConnector使用下面的代码我存储在MySQL缩略图大小的图像(小于50KB)在tinyblob字段为什么不能我存储20 kilibytes图像在MySQL

Dim imgCov As New ImageConverter() 
     Dim imgArray As Byte() = DirectCast(imgCov.ConvertTo(pictureBox1.Image , GetType(Byte())), Byte()) 

     Try 
      Using conn As New MySqlConnection(conStr) 
       conn.Open 
       Dim sql As String ="Insert Into Services(Name,Code,Emp_ID,Image) Values(@Name,@Code,@Emp_ID,@Image)" 
       Using cmd As New MySqlCommand(sql,conn) 
        cmd.Parameters.Add("@Name", MySqlDbType.VarChar, 45).Value ="Ironing" 
        cmd.Parameters.Add("@Code", MySqlDbType.VarChar, 45).Value ="IRN" 
        cmd.Parameters.Add("@Emp_ID", MySqlDbType.Int32).Value =1 
        cmd.Parameters.Add("@Image", MySqlDbType.LongBlob, 100).Value=imgArray 
        cmd.ExecuteNonQuery() 
       End Using 
      End Using 
      MsgBox("Insert Complete") 

     Catch ex As Exception 
      MsgBox(ex.Message) 
     End Try 

的问题是,当我存储图像,它不会保存所有的数据。这显而易见,当我尝试检索,我开始得到错误。

调查错误,我简单地增加了字段大小为longblob,那里工作得很好。

那么,为什么我不能在tinyblob字段中存储20KB的图像?

回答

相关问题