我正在開發指紋系統。我要提交的指紋圖像以及諸如名字和姓氏數據庫中的其它數據,但它繼續顯示此異常: No mapping exists from object type System.Drawing.Bitmap to a known managed provider native type.
在sql server 2014數據庫中保存指紋圖像
這裏是我最後的代碼:
public void btnSave_Click(object sender, EventArgs e)
{
@fname = txtfname.Text;
@lname = txtlname.Text;
byte[] @img1 = Encoding.UTF8.GetBytes(Convert.ToString(pictureBox1.Image));
con = new SqlConnection(@"Data Source=DESKTOP-400N4CL;Initial Catalog=test;Integrated Security=True");
con.Open();
cmd = new SqlCommand("INSERT INTO dbo.fingerp " + " (fname,lname,finprint) " + " VALUES(@fname,@lname,@img1)", con);
cmd.Parameters.AddWithValue("@fname", txtfname.Text);
cmd.Parameters.AddWithValue("@lname", txtlname.Text);
cmd.Parameters.AddWithValue("@img1", pictureBox1.Image);
cmd.ExecuteNonQuery();
}
我已經使用這種方法也是如此:
public static byte[] ImageToByte2(Image bmp)
{
byte[] img1 = new byte[0];
using (MemoryStream stream = new MemoryStream())
{
bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
stream.Close();
img1 = stream.ToArray();
}
return img1;
}
與相同的錯誤。 任何援助請。
請注意,數據庫類型「圖像」是不是一個位圖圖像本身,它是一個字節序列,基本上在這方面一個字節數組。 –
另請注意,如果數據庫中的數據類型實際上是「IMAGE」,則應該使用「VARBINARY(MAX)」(可能)。 –