当前位置: 移动技术网 > IT编程>开发语言>c# > C#操作数据库中存取图片文件的方法

C#操作数据库中存取图片文件的方法

2019年07月18日  | 移动技术网IT编程  | 我要评论

本文实例讲述了c#操作数据库中存取图片文件的方法。分享给大家供大家参考。具体如下:

private string sqlconnstr = "data source=.;database=db_test;user id=sa;pwd=123456";
/*功能:把一种图片插入到数据库中
 *返回值:无
 */
void insertimagetodb()
{
  //将需要存储的图片读取为数据流
  filestream fs = new filestream(@"d:/bear.jpg", filemode.open, fileaccess.read);
  byte[] byte_fs = new byte[fs.length];
  fs.read(byte_fs, 0, convert.toint32(fs.length));
  fs.close();
  //建立数据库连接
  sqlconnection conn = new sqlconnection(sqlconnstr);
  conn.open();
  sqlcommand cmd = new sqlcommand();
  cmd.connection = conn;
  cmd.commandtext = "insert into tb_test(image_id,image_file) values(@image_id,@image_file)";
  sqlparameter[] param = new sqlparameter[2];
  param[0] = new sqlparameter("@image_id", sqldbtype.int);
  param[0].value = 1;
  param[1] = new sqlparameter("@image_file", sqldbtype.image);
  param[1].value = byte_fs;
  for (int index = 0; index < 2; index++)
  {
 cmd.parameters.add(param[i]);
  }
  //执行sql语句
  cmd.executenonquery();
  conn.close();
}
/*功能:从数据库中读取图像文件,并显示在picturebox控件中
 *返回值:无
 */
void getimagefromdb()
{
  byte[] data = new byte[0];
  //建立数据库连接
  sqlconnection conn = new sqlconnection(sqlconnstr);
  conn.open();
  sqlcommand cmd = new sqlcommand();
  cmd.connection = conn;
  cmd.commandtext = "select * from tb_parent";
  sqldatareader sdr = cmd.executereader();
  sdr.read();
  data = (byte[])sdr["parent_image"];//读取第一个图片的位流
  memorystream mystream = new memorystream(data);
  //用指定的数据流来创建一个image图片
  system.drawing.image picbimage = system.drawing.image.fromstream(mystream, true);
  mystream.close();
  picturebox1.image = picbimage;
  conn.close();
}

希望本文所述对大家的c#程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网