数据库图片:C# 在SQLSERVER数据库中存取图片来源: 发布时间:星期三, 2008年9月10日 浏览:391次 评论:0
//放入数据库
if(this.openFileDialog1.ShowDialog()==DialogResult.OK) { this.pictureBox1.Image=Image.FromFile(openFileDialog1.FileName); SqlConnectionconn=newSqlConnection(\"server=(local);uid=sa;pwd=sa;database=ac\"); conn.Open(); SqlCommandcmd=newSqlCommand(\"insertintoxia(names)values(@i)\",conn); byte[]ib=newByte[6000000]; FileStreamfs=newFileStream(openFileDialog1.FileName,FileMode.Open,FileAccess.Read); fs.Read(ib,0,6000000); cmd.Parameters.Add(\"@i\",SqlDbType.Image,(int)fs.Length); cmd.Parameters[\"@i\"].Value=ib;cmd.ExecuteNonQuery(); conn.Close(); } //从数据库中读取 try { System.Data.SqlClient.SqlConnectionconn=newSqlConnection(connstring); conn.Open(); stringsql=\"selectImageNumfromimagewhereImageName=@name\"; SqlCommandcomm=newSqlCommand(sql,conn); stringstrname=listBox1.SelectedItem.ToString(); comm.Parameters.Add(\"@name\",SqlDbType.NVarChar).Value=strname; System.Data.SqlClient.SqlDataAdapteradapter=newSqlDataAdapter(); adapter.SelectCommand=comm; System.Data.DataSetdataset=newDataSet(); adapter.SelectCommand.ExecuteNonQuery(); adapter.Fill(dataset,\"image\"); byte[]b=(byte[])dataset.Tables[0].Rows[0][\"ImageNum\"]; if(b.Length>0) { MemoryStreamstream=newMemoryStream(b,true); stream.Write(b,0,b.Length); System.Drawing.Bitmapbitmap=newBitmap(stream); imageshow.Image=bitmap; imageshow.Left=700; imageshow.Width=300; imageshow.Height=300; stream.Close(); } conn.Close(); } catch(Exception) { MessageBox.Show(\"你可能没选择图片,请选择\"); } 0
相关文章
读者评论
发表评论 |