专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » 数据库图片:C# 在SQLSERVER数据库中存取图片 »正文

数据库图片: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条 分0页

发表评论

  • 昵称:
  • 内容: