نمایش نتایج 1 تا 8 از 8

نام تاپیک: ذخیره تصویر از Memory Stream در بانک

  1. #1
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    ذخیره تصویر از Memory Stream در بانک

    با سلام خدمت دوستان برنامه نویس
    امیدوارم طاعات و عباداتتون مورد قبول درگاه حق تعالی قرار گرفته باشه.

    می خوام تصویر را در دیتابیس ذخیره کنم. این کدها رو نوشتم و نمی دونم خطا از چیه :
                con.Open();
    SqlCommand addquery = new SqlCommand("Insert into Table_1(Fname,Lname,picture)values(@F,@L,@P)", con);
    addquery.Parameters.AddWithValue("@F", textBox1.Text.Trim());
    addquery.Parameters.AddWithValue("@L", textBox2.Text.Trim());
    MemoryStream ms = new MemoryStream();
    pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    addquery.Parameters.AddWithValue("@P", ms.GetBuffer());
    addquery.ExecuteNonQuery();
    ds.Clear();
    da.Fill(ds, "Table_1");
    con.Close();


    این هم کد خطا :
    String or binary data would be truncated.
    The statement has been terminated.



    با تشکر

  2. #2
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: ذخیره تصویر از Memory Stream در بانک

    با vs تست نکردم و به صورت دستی اصلاح کردم
    ببین درسته؟
    con.Open();
    SqlCommand addquery = new SqlCommand("Insert into Table_1(Fname,Lname,picture)values(@F,@L,@P)", con);
    addquery.Parameters.AddWithValue("@F", textBox1.Text.Trim());
    addquery.Parameters.AddWithValue("@L", textBox2.Text.Trim());
    MemoryStream ms = new MemoryStream();
    pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
    byte[] arrPic = ms.GetBuffer();
    ms.Close();
    addquery.Parameters.AddWithValue("@P", arrPic);
    addquery.ExecuteNonQuery();
    ds.Clear();
    da.Fill(ds, "Table_1");
    con.Close();

    اگه نشد بگو تا اصلاحش کنم

  3. #3
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    نقل قول: ذخیره تصویر از Memory Stream در بانک

    بازهم خطای قبلی رو میده!!

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: ذخیره تصویر از Memory Stream در بانک

    نوع داده ستون picture رو بررسی کنید.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    نقل قول: ذخیره تصویر از Memory Stream در بانک

    نوع داده ستون Picture را binary(150) در نظر گرفتم.

  6. #6
    کاربر دائمی آواتار mhsmity
    تاریخ عضویت
    مهر 1387
    محل زندگی
    استان يزد
    سن
    36
    پست
    671

    نقل قول: ذخیره تصویر از Memory Stream در بانک

            public void SavePic(int P_Id, PictureBox pb)
    {
    //تبدیل تصویر به مجموعه ای از بایت ها
    MemoryStream ms = new MemoryStream();
    pb.Image.Save(ms, pb.Image.RawFormat);
    byte[] arrpic = ms.GetBuffer();
    ms.Close();
    // ذخیره تصویر در بانک اطلاعاتی
    string StrQuery = "UPDATE Tbl SET PIC = @pic WHERE(ID = @id)";
    SqlCommand cmd = new SqlCommand(StrQuery, Con.Con);
    Con.Open();
    try
    {
    cmd.Parameters.Add("@id", SqlDbType.NVarChar, 50).Value = P_Id;
    cmd.Parameters.Add("@pic", SqlDbType.VarBinary).Value = arrpic;
    cmd.ExecuteNonQuery();
    }
    catch (Exception e) { MessageBox.Show(e.Message, "CommitSavePic"); }
    Con.Close();
    }


    SqlDbType.VarBinary

            public void ShowePic(int P_Id, PictureBox pb)
    {
    try
    {
    string StrQuery = "SELECT Pic FROM tbl WHERE ID = @ID";
    da = new SqlDataAdapter(StrQuery, Con.Con);
    da.SelectCommand.Parameters.Add("@ID", SqlDbType.Int).Value = P_Id;
    ds = new DataSet();
    Con.Open();
    da.Fill(ds, "Persons");
    Con.Close();
    byte[] arrPic = (byte[])(ds.Tables["Persons"].Rows[0]["Pic"]);
    MemoryStream ms = new MemoryStream(arrPic);
    pb.Image = Image.FromStream(ms);
    }
    catch (SystemException ex)
    {
    MessageBox.Show(ex.Message, "ShowePic");
    }
    }

  7. #7
    کاربر دائمی آواتار sohil_ww
    تاریخ عضویت
    آذر 1391
    محل زندگی
    هر جا شادی باشه
    پست
    891

    نقل قول: ذخیره تصویر از Memory Stream در بانک

    نوع فیلد به
    varbinary(MAX)


    تغییر بده

  8. #8
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    نقل قول: ذخیره تصویر از Memory Stream در بانک

    دوستان ممنونم از توجه همه تون.
    دوستان مشکل از نوع ستون Picture بود با قرار دادن نوع varbinary(MAX) مشکل حل.


    با تشکر

تاپیک های مشابه

  1. ذخیره تصویر از طریق وی بی در بانک اطلاعاتی مرتبط
    نوشته شده توسط elahe3 در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: سه شنبه 15 آذر 1390, 21:59 عصر
  2. یک مشکل کوچک در ذخیره تصویر در بانک sql
    نوشته شده توسط slashslash2009 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: سه شنبه 03 آذر 1388, 08:25 صبح
  3. سوال: ذخیره سازی عکس در Memory Stream
    نوشته شده توسط ACorvinus در بخش VB.NET
    پاسخ: 4
    آخرین پست: چهارشنبه 04 شهریور 1388, 08:36 صبح
  4. ذخیره تصویر در بانک sql server 2005
    نوشته شده توسط siroustalebi در بخش SQL Server
    پاسخ: 2
    آخرین پست: سه شنبه 16 تیر 1388, 18:42 عصر
  5. ذخیره تصویر در بانک SQL Server یا Access
    نوشته شده توسط smt1383 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 9
    آخرین پست: سه شنبه 13 آذر 1386, 13:00 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •