圖片以數據流形式存儲到數據庫中


private void button1_Click_1(object sender, EventArgs e)
{
using (OpenFileDialog lvse = new OpenFileDialog())
{
lvse.Title = "選擇數據文件";
lvse.InitialDirectory = "";
lvse.Filter = "數據文件(*.jpg)|*.jpg";
lvse.FilterIndex = 1;
if (lvse.ShowDialog() == DialogResult.OK)
{
textBox1.Text = lvse.FileName;

//將需要存儲的圖片讀取為數據流

FileStream fs = new FileStream(textBox1.Text, 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("server=DESKTOP-DJS6JVL;uid=shwy;pwd=801212;database=test");
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "insert into Img(strTP) values(@image_file)";
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@image_file", SqlDbType.Image);
param[0].Value = byte_fs;

cmd.Parameters.Add(param[0]);

//執行SQL語句
cmd.ExecuteNonQuery();
conn.Close();

}
}
}

private void button2_Click(object sender, EventArgs e)
{
byte[] Data = new byte[0];
SqlConnection conn = new SqlConnection("server=DESKTOP-DJS6JVL;uid=shwy;pwd=801212;database=test");
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from Img";
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
Data = (byte[])sdr["strTP"];//讀取第一個圖片的位流
MemoryStream mystream = new MemoryStream(Data);
//用指定的數據流來創建一個image圖片
System.Drawing.Image picbImage = System.Drawing.Image.FromStream(mystream, true);
mystream.Close();
pictureBox1.Image = picbImage;
conn.Close();
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM