mymina
چهارشنبه 11 بهمن 1391, 12: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
آقا مشکل کجاست :گریه::گریه::گریه:
می خواهم عکس رو در پایگاه داده ذخیره و در 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
آقا مشکل کجاست :گریه::گریه::گریه: