1.在界面中放入pictureBox1控件
2.“上传照片”点击事件代码
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
pictureBox1.ImageLocation = openFileDialog1.FileName;
}
3.保存图片到数据库中,以二进制方式保存
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] bt = new byte[1];
//转为字节
bt = ms.GetBuffer();
DataRow dr = dt.NewRow();
//对应字段
dr["photo"] = bt;
//执行插入
dt.Rows.Add(dr);
adt.Update(dt);
MessageBox.Show("添加成功", "!提示");
/*将bt值插入到库中, 此处这里也可以直接将bt用insert的语句插入到数据库中 */
4.这里举例Sqlserver数据库,在数据库中的字段类型要设置为image类型
5.查看保存后的结果,在库中显示为“二进制数据”
6.点击datagridview,显示预览
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
try
{
if (e.RowIndex < dt.Rows.Count)
{
dr = dt.Rows[e.RowIndex];
byte[] bt = (byte[])dr["photo"];
MemoryStream ms = new MemoryStream(bt);
pictureBox1.Image = new Bitmap(ms);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}