PDA

View Full Version : بازگردانی بایتهای ذخیره شده در دیتابیس به صورت عکس



محمدجواد67
چهارشنبه 30 بهمن 1392, 17:26 عصر
سلام دوستان من یه بانک اطلاعاتی اس کیو ال در پروژه ام دارم که داخلش عکس ذخیره کردم به صورت زیر با لینک کیو ، strfn یه متغییر از نوع string هست که داخل اون مسیر عکس هست.


byte[] imageData = null;
FileInfo FI = new FileInfo(strFn);
long numbyte = FI.Length;
if (numbyte < 103000)
{

FileStream FS = new FileStream(strFn, FileMode.Open, FileAccess.Read);
BinaryReader BR = new BinaryReader(FS);
imageData = BR.ReadBytes((int)numbyte);
information info = new information();
info._1Id = Int64.Parse(textBox1.Text);
info._2 = Int64.Parse(textBox2.Text);
info._3 = textBox3.Text;
info._4 = textBox4.Text;
info._5 = textBox5.Text;
info._6 = textBox6.Text;
info._7 = textBox7.Text;
info._8 = textBox8.Text;
info._9 = textBox9.Text;
info._10 = textBox10.Text;
info._11 = textBox11.Text;
info._12 = textBox12.Text;
info._13 = textBox13.Text;
info._14 = textBox14.Text;
info._15 = textBox15.Text;
info._16 = textBox16.Text;
info._17 = textBox17.Text;
info._18 = textBox18.Text;
info._19 = textBox19.Text;
info._20 = textBox20.Text;
info._21 = textBox21.Text;
info._22 = strFn;
info.images = imageData;


database.informations.InsertOnSubmit(info);




حالا این عکس رو می خوام از پایگاه داده بخونم و داخل یه picturebox نمایش بدم این کد رو نوشتم



var query1 = from cl in database.informations
where cl._2 == Int64.Parse(st1)
select cl.images;
dataGridView1.DataSource = query1;

byte[] arrPic;
arrPic = ((byte[])dataGridView1[0, 0]);
MemoryStream ms = new MemoryStream(arrPic);
up.pictureBox1.Image = Image.FromStream(ms);




اما از خط

arrPic = ((byte[])dataGridView1[0, 0]);


ارور میگیره.

parvizwpf
چهارشنبه 30 بهمن 1392, 21:51 عصر
ارور چیه؟ شما دیتای بایتها رو از گرید نخون از خود اون کوئریت بخون مثلا:
query1.images