یه عکس رو با استفاده از open file dialog تو یه کنترل picture box لود کرم حالا چه طور می تونم اون رو همزمان هم تو مسیر پروژه و هم در بانک با استفاده از اسمش ذخیره کنم بعد اونو تو grid view نشون بدم
اگه کسی بلده کدش چی میشه
خیلی فوریه
ممنونم
Printable View
یه عکس رو با استفاده از open file dialog تو یه کنترل picture box لود کرم حالا چه طور می تونم اون رو همزمان هم تو مسیر پروژه و هم در بانک با استفاده از اسمش ذخیره کنم بعد اونو تو grid view نشون بدم
اگه کسی بلده کدش چی میشه
خیلی فوریه
ممنونم
برای اینسرت عکس به بانک
byte[] ReadFile(string sPath)
{
byte[] data = null;
FileInfo fInfo = new FileInfo(sPath);
long numBytes = fInfo.Length;
FileStream fStream = new FileStream(sPath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fStream);
data = br.ReadBytes((int)numBytes);
return data;
}
برای استفاده
try
{
byte[] imageData = ReadFile(txtImagePath.Text);
SqlCommand objCommand = new SqlCommand();
objCommand.Connection = objConnection;
objCommand.CommandType = CommandType.Text;
objCommand.CommandText = "insert into ..
objCommand.Parameters.Add(new SqlParameter("@ImageOriginalPath", (object)txtImagePath.Text));
objCommand.Parameters.Add(new SqlParameter("@ImageData", (object)imageData));
در بانک 2 فیلد برای این کار بزار
یکی از نوی Image و یکی از نوع nvarchar(200)
برای نمایش در گرید و پیکچر باکس
در رویداد CellEnter گرید اینو بنویس
try
{
byte[] imageData = (byte[])dataGridView1.Rows[e.RowIndex].Cells["ImageData"].Value;
txtImagePath.Text = dataGridView1.Rows[e.RowIndex].Cells["OriginalPath"].Value.ToString();
Image newImage;
using (MemoryStream ms = new MemoryStream(imageData, 0, imageData.Length))
{
ms.Write(imageData, 0, imageData.Length);
newImage = Image.FromStream(ms, true);
}
pictureBox1.Image = newImage;
}
catch (Exception ex)
{
MessageBox.Show("عکسی انتخاب نشده است" + "\n" + ex.Message);
}