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

نام تاپیک: مشکل در ذخیره و بازیابی عکس

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1389
    پست
    61

    Question مشکل در ذخیره و بازیابی عکس

    با سلام
    من یه جدول دارم که شامل فیلد های (radif,p_name,tell,mobile,adress,pic) هست که با استفاده از linq و StoredProcedure عملیات های مختلف روی پایگاه داده انجام میدم
    برای ذخیره در جدول از کد زیر استفاده می کنم
     
    MemoryStream ms = new MemoryStream();
    pic.Image.Save(ms, pic.Image.RawFormat);
    byte[] arrPic = ms.GetBuffer();
    linq_data_classDataContext db = new linq_data_classDataContext();
    db.psave_tbl_p(txt_n.Text, txt_t.Text, txt_m.Text, txt_a.Text, ms.GetBuffer());
    dgv_p.DataSource = db.pselect_tbl_p();

    کد StoredProcedure

    ALTER PROCEDURE dbo.psave_tbl_p @p_name nvarchar(50), @tell nvarchar(11), @mobile nvarchar(11), @adress nvarchar(MAX), @pic varbinary
    AS
    Insert tbl_p values(@p_name,@tell,@mobile,@adress,@pic)
    RETURN

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

    private void dgv_p_CellClick(object sender, DataGridViewCellEventArgs e)
    {
    if (dgv_p.RowCount > 0)
    {
    txt_n.Text = dgv_p.SelectedCells[1].Value.ToString();
    txt_t.Text = dgv_p.SelectedCells[2].Value.ToString();
    txt_m.Text = dgv_p.SelectedCells[3].Value.ToString();
    txt_a.Text = dgv_p.SelectedCells[4].Value.ToString();
    MemoryStream ms = new MemoryStream((byte[])(dgv_p.SelectedCells[5].Value));
    pic.Image = Image.FromStream(ms);
    }
    }

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

    Unable to cast object of type 'System.Data.Linq.Binary' to type 'System.Byte[]'.

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

  2. #2

    نقل قول: مشکل در ذخیره و بازیابی عکس

    خودش گفته عزیز ، اطلاعات عکس در دیتابیس بصورت باینری ذخیره می شود اما وقتی میخاد در گرید ننمایش داده بشه بصورت آرایه بایتی هست ، حالا شما باید این وسط متغیر باینری رو به آرایه تبدیل کنید.

  3. #3

    نقل قول: مشکل در ذخیره و بازیابی عکس

    var bin = dgv_p.SelectedCells[5].Value as System.Data.Linq.Binary;
    MemoryStream ms = new MemoryStream(bin.ToArray());

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

  1. پاسخ: 70
    آخرین پست: شنبه 30 آبان 1394, 20:13 عصر
  2. سوال: چرا زیر سطح های منوی بازشو، زیر بقیه Divها قرار می گیره؟(مثل این تصویر)
    نوشته شده توسط fa_karoon در بخش طراحی وب (Web Design)
    پاسخ: 4
    آخرین پست: جمعه 08 شهریور 1392, 21:13 عصر
  3. سوال: آیا راهی هست که بدون اینکه فرم بالایی پایین فرم زیرش بره فوکوس رو به فرم زیرش منتقل کنه؟
    نوشته شده توسط mbshareat در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: سه شنبه 29 فروردین 1391, 09:56 صبح
  4. سوال: زیر آیتمهای منو در Google chrome زیر banner سایت قرار میگیره
    نوشته شده توسط majid784 در بخش طراحی وب (Web Design)
    پاسخ: 5
    آخرین پست: سه شنبه 08 آذر 1390, 18:07 عصر

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

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