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

نام تاپیک: مشکل در نمایش عکس

  1. #1

    مشکل در نمایش عکس

    من وقتی میخوام عکسی که در بانک به طورت باینری ذخیره کنم نمایش بدم داخل پیکچر باکس با ارور زیر مواجه میشم

    Parameter is not valid.
    اینم عکسش
    Untitled.jpg
    اینم کد واکشیم منمون میشم بگید مشکل از کجاست
     com.CommandText = "select id,name,family,card,date,image from tblinformation Where name='" + u.name + "'";
    // com2.CommandText = "select image from tblinformation Where name='" + u.name + "'";



    con.Open();
    SqlDataReader dr = com.ExecuteReader();
    byte[] myarray = null;
    if (dr.HasRows == true)
    {
    dr.Read();

    myarray = (byte[])dr["image"];


    label2.Text = u.name;

    label8.Text = dr.GetValue(0).ToString(); //perseneli

    label4.Text = dr.GetValue(2).ToString(); //family

    label6.Text = dr.GetValue(3).ToString(); //card
    label10.Text = dr.GetValue(4).ToString(); // date






    }
    dr.Close();
    System.IO.MemoryStream mymemory = new System.IO.MemoryStream(myarray);
    pictureBox2.Image = Image.FromStream(mymemory);
    com.ExecuteNonQuery();
    con.Close();

  2. #2
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

    نقل قول: مشکل در ارور نمایش عکس

    سلام
    دوست عزیز از متد زیر استفاده کن ببین درست میشه

            private void pic_reader()
    {
    try
    {
    OleDbConnection con = new OleDbConnection(ConnectionString);
    con.Open();
    OleDbCommand com = new OleDbCommand("select PIC from tbl_info_personel where KodPersonel= @id_per", con);
    com.Parameters.AddWithValue("@id_per", this.dataGridView1.CurrentRow.Cells[0].Value);
    byte[] myarray = null;
    OleDbDataReader DataR = com.ExecuteReader();
    if (DataR.HasRows)
    {
    while (DataR.Read())
    {
    myarray = (byte[])DataR["PIC"];
    }
    }
    DataR.Close();
    System.IO.MemoryStream mymemory = new MemoryStream(myarray);
    this.pictureBox1.Image = Image.FromStream(mymemory);
    com.ExecuteNonQuery();
    con.Close();



    }
    catch
    {
    this.pictureBox1.Image = null;
    }
    }


  3. #3

    نقل قول: مشکل در ارور نمایش عکس

    نه متاسفانه میره رو حالت نال

  4. #4
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

    نقل قول: مشکل در ارور نمایش عکس

    نوع فیلد عکست توی بانک چی هست؟؟؟؟
    بعدش شما میخایید بعد از عملیات ذخیره بلافاصله عکس رو نشون بده؟؟

  5. #5

    نقل قول: مشکل در ارور نمایش عکس

    نقل قول نوشته شده توسط Ho3einAlone مشاهده تاپیک
    نوع فیلد عکست توی بانک چی هست؟؟؟؟
    بعدش شما میخایید بعد از عملیات ذخیره بلافاصله عکس رو نشون بده؟؟
    نوعکش image میخوام آره توی یک picturebox نشونش بده ذخیره میشه ولی نمایش نمیده

  6. #6
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

    نقل قول: مشکل در ارور نمایش عکس

    دوست عزیز تو شرطت بجای رشته از نوع عددی استفاده کن
    مثل کد پرسنلی

  7. #7

    نقل قول: مشکل در ارور نمایش عکس

    من این کارو کردم اول جواب داد ولی دیگه دوباره همون ارور لعنتی میاد
    پروژه آماده که کار کنه کسی داره

  8. #8

    نقل قول: مشکل در ارور نمایش عکس

    سلام
    این کد تست شده و کار می کنه، اگر کار نکرد حتما مشکل از جای دیگه هست و نیازه جزئیات بیشتری در مورد بانک و کدتون در اختیارمون بذارید:


    con.Open();
    SqlCommand cmd = new SqlCommand("select id,name,family,card,date,image from tblinformation Where name=@name", con);
    cmd.Parameters.AddWithValue("@name", u.name);

    byte[] imageArray = null;

    SqlDataReader dr = cmd.ExecuteReader();

    if (dr.HasRows)
    {
    while (dr.Read())
    {
    imageArray = (byte[])dr["image"];
    }
    }
    dr.Close();
    System.IO.MemoryStream mymemory = new System.IO.MemoryStream(imageArray);
    pictureBox2.Image = Image.FromStream(mymemory);
    con.Close();

  9. #9

    نقل قول: مشکل در نمایش عکس

    تغییری نمیکنه اصلا

  10. #10
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

    نقل قول: مشکل در نمایش عکس

    سلام
    دوست عزیز مگه مشکل شما حل نشد؟؟؟
    خب نوع فیلد مربوط به ذخیره عکستو عوض کن ببین درست میشه؟؟؟

  11. #11
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

    نقل قول: مشکل در نمایش عکس

    این کد هم تست کن ببین

    con.Open();
    SqlCommand cmd = new SqlCommand("select id,name,family,card,date,image from tblinformation Where name=@name", con);
    cmd.Parameters.AddWithValue("@name", u.name);

    byte[] imageArray = null;

    SqlDataReader dr = cmd.ExecuteReader();

    if (dr.HasRows)
    {
    while (dr.Read())
    {
    imageArray = (byte[])dr["image"];
    }
    }
    dr.Close();
    System.IO.MemoryStream mymemory = new System.IO.MemoryStream(imageArray);
    pictureBox2.Image = Image.FromStream(mymemory);
    cmd.ExecuteNonQuery();
    con.Close();

  12. #12
    کاربر تازه وارد آواتار reza9025
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    اذربایجان غربی - شهرستان مهاباد
    سن
    28
    پست
    80

    نقل قول: مشکل در نمایش عکس

    سلام.مهندس از اونجایی که گفته Parameter مشکل داره.
    بنظر من چون Image.FromStream بارامتر از نوع System.IO.Stream میگیره و شما به اون System.IO.MemoryStream باس دادید به همین دلیل این خطا رو میگیره. دو خط کد زیر رو ویرایش کن:


    System.IO.MemoryStream mymemory = new System.IO.MemoryStream(imageArray);

    pictureBox2.Image = Image.FromStream(mymemory);


    تغییر بده به این کد:


    System.IO.MemoryStream mymemory = new System.IO.MemoryStream(imageArray);
    System.IO.Stream St = mymemory;
    pictureBox2.Image = Image.FromStream(St);

    نتیجه رو اعلام کن. یا اگه خطا داد تصویر خطا رو بزار...

  13. #13

    نقل قول: مشکل در نمایش عکس

    دوباره همون ارور پارامتر میده اینو واقعا اعصابمو خرد کرد بیخیالش شدم میخوام عکس رو داخل پوشه ویندوز ذخیره کنم و آدرس عکسشو تو فیلد ذخیره کنم موقع واکشی هم اشاره به آدرس عکس کنم میتونید راهنمایی کنید با سپاس

  14. #14

    نقل قول: مشکل در نمایش عکس

    نقل قول نوشته شده توسط piter11 مشاهده تاپیک
    دوباره همون ارور پارامتر میده اینو واقعا اعصابمو خرد کرد بیخیالش شدم میخوام عکس رو داخل پوشه ویندوز ذخیره کنم و آدرس عکسشو تو فیلد ذخیره کنم موقع واکشی هم اشاره به آدرس عکس کنم میتونید راهنمایی کنید با سپاس
    من با نوع داده varbinary و image امتحان کردم هیچ مشکلی نیست جز اینکه زمان بارگذاری یه عکس کوچولو بالا بود: 500ms البته سخت افزار من هم کنده.
    درمورد ذخیره آدرس توی بانک و بارگذاری عکس از روی هارد هم میتونیم راهنماییت کنیم اما برا حل این مسئله من یه سؤال دارم:
    مطمئنی اون رکوردی که میخونی فیلد عکسش درست ذخیره شده؟ (با چه کدی ذخیره کردی؟)
    من یه آرایه با مقادیر الکی خواستم load کنم دقیقا همین پیغام خطایی که عکس گذاشتی رو میده!
                if (dr.Read())
    {
    TName.Text = dr["fName"].ToString();
    //System.IO.MemoryStream ms = new System.IO.MemoryStream((byte[])dr["fImage"]);
    System.IO.MemoryStream ms = new System.IO.MemoryStream(new byte[] { 200, 100 });
    PBImage.Image = Image.FromStream(ms);//an error like your error occurred here
    }

  15. #15
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

    نقل قول: مشکل در نمایش عکس

    سلام
    اگه بخایی از طریق آدرس عکسو نشون بدی باید آدرس عکس ثابت باشه و اگه در آینده بخایی برنامه اتو تحت شبکه اجرا کنی باید بشینی دوباره هرچندتا عکس داری را دوباره آدرسشو ذخیره کنی در کل درد سر داره ولی نحوه اش به شکل زیر است
    فرم اول برای انتخاب عکس و ذخیره آدرس آن در بانک
    مثلا یک پیکچر باکس داری بهمراه یک دکمه برای بارگذاری عکس
    خوب بعد از اینکه عکستو باز کردی باید آدرسشو توی یک تکست باکسی،لیبلی،متغیری و.. بریزی تا بتونی اونو درون بانک اطلاعاتیت ذخیره کنی
    پس اولین قدمت تعریف یک متغییر از نوع string
    string AddressImage_Personel;




    خب بعدش برای بدست آوردن آدرس عکس میتونی کدهای زیر را برای دکمه بارگذاری عکس بنویسی
    System.Windows.Forms.OpenFileDialog open = new System.Windows.Forms.OpenFileDialog();
    open.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF";
    open.Title = "انتخاب عکس مخاطب";
    open.InitialDirectory = Application.StartupPath + "\\Pictuer";
    if (open.ShowDialog() == DialogResult.OK)
    {
    AddressImage_Personel = open.FileName;
    picpersonel.Image = Image.FromFile(open.FileName);
    picpersonel.Load(open.FileName);
    img = Image.FromFile(open.FileName);


    خب الان میتونی اون متغییر(آدرس عکس انتخاب شده) را با استفاده از دستور insert درون بانک اطلاعاتیت ذخیره کنی

    فرم دوم برای نمایش عکس (ابزارهای این فرم دیتا گرید،پیکچرباکس)
    خب الان نوبت بازخوانی از بانک و نمایش عکس میرسه که میتونی از کدهای زیر استفاده کنی
    البته من یه متد private در فرمم ساختم و با استفاده از دیتا گرید اون عکس مربوط به هر شخصی را با کلیک بر سطر دیتا گرید به نمایش در میارم


    private void Pic_Per()
    {
    pictureBox1.ImageLocation = dataGridView1.CurrentRow.Cells[].Value.ToString();
    }




    موفق باشی

  16. #16

    نقل قول: مشکل در نمایش عکس

    این دو تا چین؟ کجا باید تعریفش کرد
    picpersonel
    img
    در اینجا
    img = Image.FromFile(open.FileName);

  17. #17
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

    نقل قول: مشکل در نمایش عکس

    آخ شرمندم
    بهمراه همون متغییر string اینم تعریف کن

    picpersonelهم اسم پیکچر باکس عکس است
      Image img;

  18. #18

    نقل قول: مشکل در نمایش عکس

    picpersonel.Image = Image.FromFile(open.FileName);
    این هم picpersonel بگید از کجا اومد مرسی

  19. #19
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

    نقل قول: مشکل در نمایش عکس

    عزیز picpersonel اسم کنترل pictureBox ام است

  20. #20

    نقل قول: مشکل در نمایش عکس

    خیلی ممنون فقط یه سوال دیگه من بخوام از واکشی انجام بدم آدرسو عکسو نمایشش بدم فقط تو یک پیکچرباکس به چه صورت میشه؟ من کدی که نوشتم اینجوریه واسه سلکتش ولی اون قسمت picturebox.imagelocation=dr.getvalue(5).tostring() ;
    مشکل داره
    SqlConnection con = new SqlConnection();
    con.ConnectionString = WindowsFormsApplication1.Properties.Settings.Defau lt.con;

    SqlCommand cmd = new SqlCommand("select id,name,family,card,date,image from tblinformation Where name='"+u.name+"'", con);

    con.Open();
    SqlDataReader dr = cmd.ExecuteReader();

    if (dr.HasRows)
    {
    while (dr.Read())
    {

    pictureBox2.ImageLocation = dr.GetValue(5).ToString();
    label2.Text = u.name;
    textBox1.Text = dr.GetValue(0).ToString();
    label8.Text = dr.GetValue(0).ToString(); //perseneli

    label4.Text = dr.GetValue(2).ToString(); //family

    label6.Text = dr.GetValue(3).ToString(); //card
    label10.Text = dr.GetValue(4).ToString(); // date
    }
    }

    dr.Close();

    con.Close();

  21. #21
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

    نقل قول: مشکل در نمایش عکس

    سلام این کدتو اصلاح کن (قرمز رنگ) دوتا اندیس 0 داری
    SqlConnection con = new SqlConnection();
    con.ConnectionString = WindowsFormsApplication1.Properties.Settings.Defau lt.con;

    SqlCommand cmd = new SqlCommand("select id,name,family,card,date,image from tblinformation Where name='"+u.name+"'", con);

    con.Open();
    SqlDataReader dr = cmd.ExecuteReader();

    if (dr.HasRows)
    {
    while (dr.Read())
    {

    pictureBox2.ImageLocation = dr.GetValue(5).ToString();
    label2.Text = u.name;
    textBox1.Text = dr.GetValue(0).ToString();

    label8.Text = dr.GetValue(0).ToString(); //perseneli


    label4.Text = dr.GetValue(2).ToString(); //family

    label6.Text = dr.GetValue(3).ToString(); //card
    label10.Text = dr.GetValue(4).ToString(); // date
    }
    }

    dr.Close();

    con.Close();



  22. #22

    نقل قول: مشکل در نمایش عکس

    سوالی داشتم نوع فیلد عکس رو باید در بانگ چی بزاری؟ من nvarchar گذاشتم بعدش این آدرس ذخیره میشه تو فیلد برای هر عکسی System.Drawing.Bitmap این آدرس نباید باشه ! چی کار باید کنم دقیقا

    .................................................. ..
    کد باز کردن عکس رو به شکل زیر ساده تغییرش دادم
    OpenFileDialog open = new OpenFileDialog();
    open.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF";
    open.Title = "انتخاب عکس مخاطب";
    if (open.ShowDialog() == DialogResult.OK)
    {
    pictureBox1.ImageLocation = open.FileName;
    textBox1.Text = pictureBox1.ImageLocation;


    }

    مسیر عکس درست نشون میده ولی موقع اجرا تو
    com.exutenonquery() این پیغام میده
    String or binary data would be truncated.
    The statement has been terminated.
    .................................................. .
    این مشکلمم حل شد بخاطر طول زیاد عکس بود دیگه زدم رو ntext واسه محکم کاری
    آخرین ویرایش به وسیله piter11 : جمعه 05 دی 1393 در 09:45 صبح

  23. #23

    نقل قول: مشکل در نمایش عکس

    نقل قول نوشته شده توسط piter11 مشاهده تاپیک
    این مشکلمم حل شد بخاطر طول زیاد عکس بود دیگه زدم رو ntext واسه محکم کاری
    وقتی طول رشته مشخص نیست و میخواین از حداکثر امکانات ذخیره سازی استفاده کنید باید از نوع داده (nvarchar(MAX استفاده کنید.
    نوع داده ntext قرار بوده از SQL Server حذف بشه. بعضی عملگرها و توابع کار با رشته هم روش قابل اعمال نیستن.

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

  1. مشکل در نمایش عکس با gridview
    نوشته شده توسط behzadk در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: پنج شنبه 10 بهمن 1387, 13:54 عصر
  2. سوال: مشکل در نمایش عکس در گزارش
    نوشته شده توسط rezvan_DP در بخش Access
    پاسخ: 12
    آخرین پست: دوشنبه 14 مرداد 1387, 10:07 صبح
  3. مشکل کد نمایش عکس
    نوشته شده توسط mohsen_metn در بخش ASP.NET Web Forms
    پاسخ: 25
    آخرین پست: چهارشنبه 29 خرداد 1387, 16:39 عصر
  4. مشکل در نمایش عکس موجود در دیتابیس بر روی فرم
    نوشته شده توسط M.Soroor در بخش VB.NET
    پاسخ: 25
    آخرین پست: پنج شنبه 02 اسفند 1386, 16:22 عصر
  5. مشکل در نمایش عکس
    نوشته شده توسط mahdi_negahi در بخش ASP.NET Web Forms
    پاسخ: 14
    آخرین پست: پنج شنبه 10 فروردین 1385, 11:45 صبح

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

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