PDA

View Full Version : مبتدی: دخیره عکس در دیتابیس ونمایش لن در فرم



baranlove
شنبه 15 مهر 1391, 21:41 عصر
ذخیره عکس در دیتابیس ونمایش آن در فرم چگونه است

ehsan7007
شنبه 15 مهر 1391, 21:44 عصر
به این لینک یه سری بزنید. (http://barnamenevis.org/showthread.php?360405-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%B9%DA%A9%D8%B3-%D8%AF%D8%B1-database&highlight=%D8%AA%D8%B5%D9%88%DB%8C%D8%B1)

درضمن به جای ذخیره تصویر ، بهتره که ادرسش رو ذخیره کنید و نمایش بدید. (مزیت های بیشتری داره)


موفق باشید.

JaVa
شنبه 15 مهر 1391, 21:51 عصر
با سلام و خسته نباشید و...


درضمن به جای ذخیره تصویر ، می تونید ادرسش رو ذخیره کنید و نمایش بدید.



این کار در محیط شبکه هم درست جواب میده یا خیر ؟

با تشکر.*

مسعود اقدسی فام
شنبه 15 مهر 1391, 21:54 عصر
از binary یا varbinary استفاده کنید برای ذخیره در دیتابیس SQL

danialafshari
یک شنبه 16 مهر 1391, 01:16 صبح
اول باید از Memory Stream استفاده کنی

MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrPic = ms.GetBuffer();
ms.Close();

بعد ذخیره در بانک

table1TableAdapter.Insert(textBox1.Text.Trim(),tex tBox2.Text.Trim(), arrPic);

موفق باشی

baranlove
یک شنبه 16 مهر 1391, 09:15 صبح
خب بلدنیستم آدرس رو ذخیره کنم دوباره ازش استفاده کنم

malihehshajari
یک شنبه 16 مهر 1391, 09:28 صبح
سلام با این کد می تونی عکس رو ذخیره کنی

FileStream fs;
fs = new FileStream(@"D:\\image.bmp", FileMode.Open, FileAccess.Read);
byte[] picbyte = new byte[fs.Length];
fs.Read(picbyte, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
string connstr = @"server=.;database=db;integrated security=true";
SqlConnection con = new SqlConnection(connstr);
con.Open();
string query;
query = "insert into tblimage (idimage,pic) values(@idimage,@pic)";
SqlParameter picparameter = new SqlParameter();
SqlParameter picname = new SqlParameter();
picparameter.SqlDbType = SqlDbType.Image;
picparameter.ParameterName = "pic";
picparameter.Value = picbyte;
picname.SqlDbType = SqlDbType.NVarChar;
picname.ParameterName = "idimage";
picname.Value = "test";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.Add(picparameter);
cmd.Parameters.Add(picname);
cmd.ExecuteNonQuery();
cmd.Dispose();
con.Close();

baranlove
یک شنبه 16 مهر 1391, 12:25 عصر
خب بلدنیستم آدرس رو ذخیره کنم دوباره ازش استفاده کنم.با استفاده از openfile dialogوpicture کس رو میارم رو فرمم اما میخوام رو دکمه ثبت کلیک کنم اووقت دخیره بشه وبا زدن دکمه ویرایش عکس نمایش داده بشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

morteza271
یک شنبه 16 مهر 1391, 12:33 عصر
این پروژه ای که واستون میذارم در مورد ذخیره فایل در دیتابیس و گرفتن دوباره اون هست.
که خیلی راحت میتویند ازش استفاده کنید.
93691
موفق باشید

ehsan7007
یک شنبه 16 مهر 1391, 19:17 عصر
با سلام و خسته نباشید و...



این کار در محیط شبکه هم درست جواب میده یا خیر ؟

با تشکر.*

سلام به همه .

اگر یه راه ساده بخواهید ، می تونید تصاویر مورد نظر رو در پوشه ای کنار برنامه کپی کنید ؛ و اون ادرس رو بدید ؛ اینطوری می تونید از پوشه کپی بگیرید ( به منظور بک آپ) تا اگر مسیر تصویری درسیستم فرق کرد مشکلی پیش نیاد.




خب بلدنیستم آدرس رو ذخیره کنم دوباره ازش استفاده کنم

من خودم به دلایلی در یکی از برنامه هام این کار رو کرده ام :

تعریف عمومی :

OpenFileDialog Ofd = new OpenFileDialog() { Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;* .PNG", Title = "انتخاب تصوير" };
string P;


انتخاب تصویر و نمایش ادرس در تکست باکس و پیش نمایش در پیکچرباکس :

Ofd.ShowDialog();
P = Ofd.FileName;
txtpic.Text = P;
pic.Image = Image.FromFile(P);
pic.SizeMode = PictureBoxSizeMode.StretchImage;



برای ذخیره ی تصویر هم فقط P رو توی یک فیلد در دیتابیس میریزم.

برای نمایش تصویر در پیکچر باکس هم از گرید استفاده میکنم :

pictureBox2.Image = Image.FromFile(dgv.CurrentRow.Cells[10].Value.ToString());
pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;



موفق باشید.

systam
جمعه 25 مرداد 1392, 11:17 صبح
http://barnamenevis.org/showthread.php?289001-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A7%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%A7%DB%8C%DA%AF%D8%A7%D9%86%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B9%DA%A9%D8%B3-%D8%AF%D8%B1-%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C&p=1776225#post1776225