PDA

View Full Version : سوال: خطا در نمایش عکس در DataGridViwe



mymina
چهارشنبه 11 بهمن 1391, 11:33 صبح
با سلام
می خواهم عکس رو در پایگاه داده ذخیره و در datagridviwe نمایش دهم برنامه به صورت زیر است
نوع عکس را varbinary انتخاب کرده ام
99265

برای بارگذاری عکس در داخل pictureBox از کد زیر استفاده نموده ام

private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*";
if (ofd.ShowDialog() == DialogResult.OK )
{
try
{
bmp = new Bitmap(ofd.FileName);
if (bmp.Size.Height <=172 || bmp.Size.Width <= 130)
{
picbox.Image = bmp;

adr_bmp = ofd.FileName;
txtfilepic.Text = adr_bmp;
}
else
{
MessageBox_Farsi.MessageBox_Farsi.Show("سایز عکس صحیح نمی باشد");
picbox.Image = null;
}
}
catch (Exception)
{
MessageBox.Show("فايل وارد شده فايل تصويري نميباشد");
return;
}
}



}

]
و برای ذخیره عکس در پایگاه داده با linq کد زیر را قرار داده ام
tblPersonal ClassUser = new tblPersonal();
FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);
byte[] ar = new byte[fs.Length];
fs.Read(ar, 0, (int)fs.Length);
fs.Close();
ClassUser.pic = ar;
ClassUser.Namev = txtName.Text;
ClassUser.Familyv = txtFamily.Text;
db.tblPersonals.InsertOnSubmit(ClassUser);
db.SubmitChanges();


و برای نمایش در datagridviwe کد زیر را قرار داده ام



var Q = from p in db.tblPersonals
select new
{
p.Name,
p.Family,
p.FatherName,
p.Pic
};

GrdUser.DataSource = Q;
ولی هنگام اجرا و نمایش اطلاعات در datagridviwe خطای زیر نمایش داده می شود
99267
آقا مشکل کجاست :گریه::گریه::گریه:

asghar2008
چهارشنبه 11 بهمن 1391, 12:15 عصر
سلام

شما باید بعد از فراخوانی عکس از پایگاه داده اونو تبدیل به Image کنید.چون عکس به صورت بایت در دیتابیس ذخیره شده.

samadblaj
چهارشنبه 11 بهمن 1391, 13:42 عصر
سلام دوست عزیز با این فایل کارت راه میفته جاییش مشکل داشتی هم بهم بگو...

پروژه پیوستی کار یکی از دوستان بود که حضور دهن ندارم فقط برای سلامتیش یه صلوات بفرست :تشویق:

پیروز و موفق باشید./