View Full Version : ذخیره کردن عکس در بانک sql
saeid4634
دوشنبه 19 فروردین 1387, 21:58 عصر
سلام میخاستم بدونم می شه عکسی رو در خود بانک ذخیره کرد یا فقط می تونیم مسیرش رو ذخیره کنیم؟ اگه می شه Data Typeش چیه و چطوری؟:لبخندساده:
nasseritemp
دوشنبه 19 فروردین 1387, 22:29 عصر
DataType = Image
sahmah65
دوشنبه 19 فروردین 1387, 22:39 عصر
سلام میخاستم بدونم می شه عکسی رو در خود بانک ذخیره کرد یا فقط می تونیم مسیرش رو ذخیره کنیم؟ اگه می شه Data Typeش چیه و چطوری؟:لبخندساده:
خود عکس درش ذخیره میشه وتایپ اون در 2000از نوع Image ودر 2005 از نوع Varbinarymaxو Image ودر 2008 هم دیگه از Image پشتیبانی نمیشه منتها برای ذخیره سازی باید از طریق برنامه باید این کار رو انجام بدی برای اینکه این که این رو هم یاد بگیری با توجه به زبان برنامه نویسی که ازش استفاده می کنی تو فروم مربوط به اون بگرد حتما یه نمونه کدهایی پیدا می کنی اگه گشی و پیدا نکردی بگو یه مثال برات بزارم .
موفق باشی.
saeid4634
دوشنبه 19 فروردین 1387, 23:46 عصر
چطوری یه عکسو توش ذخیره کنم، ممنون می شم اگه کامل بگین؟
sahmah65
سه شنبه 20 فروردین 1387, 07:57 صبح
چطوری یه عکسو توش ذخیره کنم، ممنون می شم اگه کامل بگین؟
فرض کن یه جدول داری با اسم Friends و با یک فیلد به نام Picture در SQLServer 2005 نوع اون
VarBinaryMAX
و زبان هم سی شارپ
حالا
private void btnSelectImage_Click(object sender, EventArgs e)
{
OpenFileDialog dlgOpen = new OpenFileDialog();
dlgOpen.Filter = "Image Files(*.BMP;*JPG;*.GIF)|*.BMP;*JPG;*.GIF";
dlgOpen.Title = "انتخاب تصویر";
if (dlgOpen.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = Image.FromFile(dlgOpen.FileName);
}
}
private void btnSaveImage_Click(object sender, EventArgs e)
{
MemoryStream MemSt = new MemoryStream();
pictureBox1.Image.Save(MemSt, pictureBox1.Image.RawFormat);
byte[] arrpic = MemSt.GetBuffer();
MemSt.Close();
SqlCommand ObjCommand = new SqlCommand();
ObjCommand.CommandText = "Insert INTO Friends Values(@Picture)";
ObjCommand.Connection = ObjConection;
ObjCommand.Parameters.Add("@picture", SqlDbType.VarBinary).Value = arrpic;
ObjConection.Open();
ObjCommand.ExecuteNonQuery();
ObjConection.Close();
}
بسته به حالات مختلف می تونی دستورات SQL متفاوتی بنویسی این فقط یه مثال ساده است.
night_walker
سه شنبه 20 فروردین 1387, 09:43 صبح
این روش خیلی روش مرسوم و کاملی است ولی با برنامه نویسی سه لایه مغایرت داره یک راه راحت تر اینه که از خاصیت Binding درPicture Box استفاده کنید. فقط کافیست که عکس را درPicturebox, Load کنید و خود به خود درSQL Server ذخیره می شود.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.