日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

NET 下数据库图片的存入与读取

發布時間:2025/3/15 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NET 下数据库图片的存入与读取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

據庫結構
create table test
{
id int identity(1,1),
FImage image
}


相關的存儲過程
Create proc UpdateImage (@UpdateImage Image)
As
Insert Into test (FImage) values (@UpdateImage)
GO


OpenFileDialog openfileDialog = new OpenFileDialog();
openfileDialog.Filter = "Picture Files(*.jpg)|*.jpg|Bmp(*.bmp)|*.bmp|All Files(*.*)|*.*";
FileStream fileStream;
openfileDialog.ShowDialog();
string filepath = openfileDialog.FileName;
if (filepath.Trim() != "")
{
//獲得圖象并把圖象轉換為byte[]
fileStream = new FileStream(filepath, FileMode.Open, FileAccess.Read);
byte[] photoArray = new byte[(int)fileStream.Length];
fileStream.Read(photoArray, 0, photoArray.Length);
fileStream.Close();
try
{
???? pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
???? pictureBox1.Image = System.Drawing.Image.FromFile(filepath);
}
catch (Exception ex)
{
???? MessageBox.Show(ex.Message);
}
//連接數據庫
SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString ="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";
SqlCommand mySqlCommand = new SqlCommand("UpdateImage", myConnection);
mySqlCommand.CommandType = CommandType.StoredProcedure;
mySqlCommand.Parameters.Add("@UpdateImage", SqlDbType.Image);
mySqlCommand.Parameters["@UpdateImage"].Value = photoArray;
//如果不使用存儲過程,可以把上面四句代碼改為:
//string strSql="Insert into test(FImage) values(@FImage)";
//SqlCommand cmd=new SqlCommand(strSql,conn);
//cmd.Parameters.Add("@FImage",SqlDbType.Image);
//cmd.Parameters["@FImage"].Value=photoArray;
myConnection.Open();
mySqlCommand.ExecuteNonQuery();
myConnection.Close();
}
//以下是從數據庫讀取圖片
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=localhost;Database=test;User Id=sa;Pwd=sa";
string strSql = "select FImage from test where id=1";
SqlCommand cmd = new SqlCommand(strSql, conn);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
MemoryStream ms = new MemoryStream((byte[])reader["FImage"]);
System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);
reader.Close();
conn.Close();
pictureBox1.Image = image;

轉載于:https://www.cnblogs.com/qinhaijun/archive/2011/08/26/2154415.html

總結

以上是生活随笔為你收集整理的NET 下数据库图片的存入与读取的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。