با سلام خدمت اساتید گرامی
یه بانک دارم ، که یه رکوردشرو هم ازنوع image گرفتم
می خواستم که عکس رو ( نه آدرس) تو پایگاه ذخیره کنم
ممنون میشم اگه کمکم کنید و کدشو بنویسید .
یک pictuerbox داریم و یه دونه open file dialog .
فوری نیازدارم . مرسی
با سلام خدمت اساتید گرامی
یه بانک دارم ، که یه رکوردشرو هم ازنوع image گرفتم
می خواستم که عکس رو ( نه آدرس) تو پایگاه ذخیره کنم
ممنون میشم اگه کمکم کنید و کدشو بنویسید .
یک pictuerbox داریم و یه دونه open file dialog .
فوری نیازدارم . مرسی
سلام بهتر بود یه جستجوی کوچک می کردین
OpenFileDialog fop = new OpenFileDialog(); fop.InitialDirectory = @"C:\"; fop.Filter = "[JPG,JPEG]|*.jpg";
if (fop.ShowDialog() == DialogResult.OK)
{
FileStream FS = new FileStream(@fop.FileName, FileMode.Open, FileAccess.Read);
byte[] img = new byte[FS.Length];
FS.Read(img, 0, Convert.ToInt32(FS.Length));
SqlConnection con = new SqlConnection();
con.Open();
SqlCommand cmd = new SqlCommand("insert into Imageform(Picture) values(@Picture)", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@Picture", SqlDbType.Image).Value = img;
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("انجام شد ");
آخرین ویرایش به وسیله khokhan : یک شنبه 22 تیر 1393 در 17:41 عصر
دوست عزیز این con چیه ؟
این کدمهمنتها از این خط ارور میگیرهSqlConnection sc = new SqlConnection("Data Source=.\\sqlexpress ;Initial Catalog=saeed;Integrated Security=True");
SqlConnection con = new SqlConnection("Data Source=.\\sqlexpress ;Initial Catalog=saeed;Integrated Security=True");
private void LoadImageBtn_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName != "")
{
Image newImage = Image.FromFile(openFileDialog1.FileName);
myPictureBox.Image = newImage;
FileStream FS = new FileStream(@openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
byte[] img = new byte[FS.Length];
FS.Read(img, 0, Convert.ToInt32(FS.Length));
if (con.State == ConnectionState.Closed)
con.Open();
SqlCommand cmd = new SqlCommand("SaveImage", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@img", SqlDbType.Image).Value = img;
cmd.ExecuteNonQuery();
cmd.ExecuteNonQuery();
آخرین ویرایش به وسیله saeedvbm : یک شنبه 22 تیر 1393 در 19:29 عصر
سلام
یه جستجو تو همین سایت می کردید پیدا می شد
من یه برنامه نوشتم که هم تصویر هم آدرس اون رو ذخیره می کنه
خدمت شما: لینک
دوست عزیز اگه با تکنولوژی LINQ می خواهی برنامه نویسی می توانی با استفاده از این آموزش تصویری هم عکس توی PictureBox رو در SQL ذخیره کنی و هم عکس رو از بانک بخونی و توی PictureBox نمایش بدی.
این کد
SqlConnection con = new SqlConnection("Data Source=.\\sqlexpress ;Initial Catalog=saeed;Integrated Security=True");
private void LoadImageBtn_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName != "")
{
Image newImage = Image.FromFile(openFileDialog1.FileName);
myPictureBox.Image = newImage;
FileStream FS = new FileStream(@openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
byte[] img = new byte[FS.Length];
FS.Read(img, 0, Convert.ToInt32(FS.Length));
if (con.State == ConnectionState.Closed)
con.Open();
SqlCommand cmd = new SqlCommand("insert into tv values('" + img.Length+ "')", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@img", SqlDbType.Image).Value = img;
cmd.ExecuteNonQuery();
con.Close();
من تو این کد ابهام دارم
SqlCommand cmd = new SqlCommand("insert into tv values('" + img.Length+ "')", con);
و
خطاشهم اینه : Could not find stored procedure 'insert into tv values('85638')'.
شما از دستور sql به طور مستقیم استفاده کردی و insert کردی و در مقابل نوع Command رو StoreProcedure تعریف کردی که این تناقض داره
باید یک پروسیچر برای دستور Insert خودت بنویسی و بعد نام اون رو به همراه پارامتراش اینجا بیاری.
دوست عزیز میشه کد درستو بذاری ، با تشکر
اول یه پروسیجر درون sql میسازی مثل پروسیجر زیر:بعد کد خودت رو توی خط 20 ام اینطوری تصحیح می کنی:
CREATE Procedure tv_Insert
@img image = NULL
As
Begin
Insert Into tv
(img)
Values
(@img)
End
SqlCommand cmd = new SqlCommand("tv_Insert", con);
بسیار تکراری...