vahdani_d
شنبه 13 اسفند 1390, 12:39 عصر
توی قسمتی از کد گیر کردم و نمیدونم چطور باید ذخیره بشه
یک فرم گذاشتم که دوتا button داره و یک pictureBox و دیتا بیسمم sql server هست
دو تا فیلد داره id , pic که id کلید اصلی و اتوماتیک مقدار میگیره نوع int و pic هم تایپش رو binary(50 انتخاب کردم (توی پستها که سرچ میکردم بچه ها پیشنهاد داده بودن از نوع باینری باشه و .. اگه اشتباست پس چی انتخاب کنم ؟) با دکمه اول عکس رو انتخاب میکنم و توی pictureBox نمایش هم داده میشه اینم کدش
Of.Filter = "BitmapFile|*.Bmp|Jpg File|*.Jpg";
Of.ShowDialog();
if (Of.FileName == string.Empty)
{
return;
}
img = Bitmap.FromFile(Of.FileName);
pictureBox1.Image = Image.FromFile(Of.FileName);
textBox16.Text =Of.FileName;
اما کد دکمه دوم که برای ذخیره کردن در دیتا بیس هست رو نمیدونم چی بنویسم البته این کد رو زدم
SqlConnection opendb = new SqlConnection();
opendb.ConnectionString = "Data Source=VAHDANI-PC;Initial Catalog=DBtest;Integrated Security=True";
SqlCommand cmdinsert = new SqlCommand();
cmdinsert.Connection = opendb;
MemoryStream Memory = new MemoryStream();
pictureBox1.Image.Save(Memory, System.Drawing.Imaging.ImageFormat.Jpeg);
cmdinsert.Parameters.Add("@Pic", SqlDbType.Image).Value = Memory.GetBuffer();
cmdinsert.CommandText = "INSERT INTO pic (Pic) Values(@Pic)";
cmdinsert.ExecuteNonQuery();
cmdinsert.Parameters.Clear();
اما خطا میده که در زیر خطاشو هم قرار دادم لطفا راهنمایی کنید چطور عکسم رو به دیتا بیس انتقال بدم ؟
و مشکل کد من کجاست که کار نمیکنه ؟
http://s2.picofile.com/file/7318505371/ere5.jpg
البته سرچ هم کردم اینم نمونه هاش:
(http://barnamenevis.org/showthread.php?115600-%D9%86%D8%AD%D9%88%D9%87-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D9%88-%D8%A8%D8%A7%D8%B2%DB%8C%D8%A7%D8%A8%DB%8C-%D8%AA%D8%B5%D8%A7%D9%88%DB%8C%D8%B1-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3/page2&highlight=%D8%B0%D8%AE%DB%8C%D8%B1%D9%87+%D8%B9%DA %A9%D8%B3)
http://barnamenevis.org/showthread.php?330329-%D9%86%D8%AD%D9%88%D9%87-%D8%B0%D8%AE%D9%8A%D8%B1%D9%87-%D8%B9%D9%83%D8%B3-%D8%AF%D8%B1-%D8%A7%D8%B3-%D9%83%D9%8A%D9%88-%D8%A7%D9%84&highlight=%D8%B0%D8%AE%DB%8C%D8%B1%D9%87+%D8%B9%DA %A9%D8%B3
یک فرم گذاشتم که دوتا button داره و یک pictureBox و دیتا بیسمم sql server هست
دو تا فیلد داره id , pic که id کلید اصلی و اتوماتیک مقدار میگیره نوع int و pic هم تایپش رو binary(50 انتخاب کردم (توی پستها که سرچ میکردم بچه ها پیشنهاد داده بودن از نوع باینری باشه و .. اگه اشتباست پس چی انتخاب کنم ؟) با دکمه اول عکس رو انتخاب میکنم و توی pictureBox نمایش هم داده میشه اینم کدش
Of.Filter = "BitmapFile|*.Bmp|Jpg File|*.Jpg";
Of.ShowDialog();
if (Of.FileName == string.Empty)
{
return;
}
img = Bitmap.FromFile(Of.FileName);
pictureBox1.Image = Image.FromFile(Of.FileName);
textBox16.Text =Of.FileName;
اما کد دکمه دوم که برای ذخیره کردن در دیتا بیس هست رو نمیدونم چی بنویسم البته این کد رو زدم
SqlConnection opendb = new SqlConnection();
opendb.ConnectionString = "Data Source=VAHDANI-PC;Initial Catalog=DBtest;Integrated Security=True";
SqlCommand cmdinsert = new SqlCommand();
cmdinsert.Connection = opendb;
MemoryStream Memory = new MemoryStream();
pictureBox1.Image.Save(Memory, System.Drawing.Imaging.ImageFormat.Jpeg);
cmdinsert.Parameters.Add("@Pic", SqlDbType.Image).Value = Memory.GetBuffer();
cmdinsert.CommandText = "INSERT INTO pic (Pic) Values(@Pic)";
cmdinsert.ExecuteNonQuery();
cmdinsert.Parameters.Clear();
اما خطا میده که در زیر خطاشو هم قرار دادم لطفا راهنمایی کنید چطور عکسم رو به دیتا بیس انتقال بدم ؟
و مشکل کد من کجاست که کار نمیکنه ؟
http://s2.picofile.com/file/7318505371/ere5.jpg
البته سرچ هم کردم اینم نمونه هاش:
(http://barnamenevis.org/showthread.php?115600-%D9%86%D8%AD%D9%88%D9%87-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D9%88-%D8%A8%D8%A7%D8%B2%DB%8C%D8%A7%D8%A8%DB%8C-%D8%AA%D8%B5%D8%A7%D9%88%DB%8C%D8%B1-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3/page2&highlight=%D8%B0%D8%AE%DB%8C%D8%B1%D9%87+%D8%B9%DA %A9%D8%B3)
http://barnamenevis.org/showthread.php?330329-%D9%86%D8%AD%D9%88%D9%87-%D8%B0%D8%AE%D9%8A%D8%B1%D9%87-%D8%B9%D9%83%D8%B3-%D8%AF%D8%B1-%D8%A7%D8%B3-%D9%83%D9%8A%D9%88-%D8%A7%D9%84&highlight=%D8%B0%D8%AE%DB%8C%D8%B1%D9%87+%D8%B9%DA %A9%D8%B3