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

نام تاپیک: مشکل با نوع varbinery در data grid view

  1. #1

    مشکل با نوع varbinery در data grid view

    سلام
    برای خواندن فایل که بصورت باینری ذخیره کردم با این خطلا مواجعه میشم میخواستم بدونم مشکل از کجاست؟؟؟؟؟
     SaveFileDialog sfd = new SaveFileDialog();
    if (sfd.ShowDialog()==System.Windows.Forms.DialogResu lt.OK)
    {
    byte[] filebytee = Convert.ToByte(dataGridView1.CurrentRow.Cells[1].Value);
    File.WriteAllBytes(sfd.FileName, filebytee);
    MessageBox.Show("okkkk");


    }

  2. #2
    کاربر دائمی آواتار parvizwpf
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    TEH
    پست
    2,919

    نقل قول: مشکل با نوع varbinery در data grid view

    فایل ذخیره میشه؟ پسوندش صحیحه؟

  3. #3

    نقل قول: مشکل با نوع varbinery در data grid view

    مشکل رو این خطه
     byte[] filebytee = Convert.ToByte(dataGridView1.CurrentRow.Cells[1].Value);

    مینویسه نمیتونه byte رو به byte[] تبدیل کنه!!!!

  4. #4

    نقل قول: مشکل با نوع varbinery در data grid view

    بهتر است از binary reader و binary writer و filestream استفاده کنید...
            private void binarywriting()
    {
    byte[] n = { 105, 102, 106 };
    SaveFileDialog sfd = new SaveFileDialog();
    if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
    System.IO.FileStream s = new FileStream(sfd.FileName, FileMode.Create, FileAccess.Write, FileShare.Write);
    BinaryWriter b = new BinaryWriter(s);
    b.BaseStream.Write(n, 0, n.Count());
    b.Close();
    }
    }
    private byte[] binaryreading()
    {
    OpenFileDialog ofd = new OpenFileDialog();
    if (ofd.ShowDialog() == DialogResult.OK)
    {
    System.IO.FileStream s = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read, FileShare.Read);
    BinaryReader rd = new BinaryReader(s);
    return rd.ReadBytes((int)s.Length);
    }
    else
    return null;
    }

    و در باتن مربوط به خواندن باینری کد زیر را بنویسید:
                if (binaryreading () != null)
    {
    foreach (byte item in binaryreading())
    {
    MessageBox.Show(item.ToString());
    }
    }
    آخرین ویرایش به وسیله farhad.k.t : یک شنبه 24 شهریور 1392 در 12:14 عصر

  5. #5

    نقل قول: مشکل با نوع varbinery در data grid view

    در کجا فایلو بدم به دیتا بیس و در کجا و چطوری ازش بخونم/؟؟؟؟؟؟

  6. #6

    نقل قول: مشکل با نوع varbinery در data grid view

    بستگی به کاری که شما می خواهید انجام دهید دارد، می توانید فایل هایی را که کاربر Save می کند را در DB ذخیره کنید و سپس آن ها را در یک گرید در اختیار کاربر قرار دهید تا برای باز کردن از گرید انتخاب کند... می توانید به کاربر اجازه دهید یک فایل را انتخاب کند و چندین خروجی دریافت کند(مانند برنامه ی FileCutter که یک فایل را به چند قسمت تقسیم می کند)و...

    فکر می کنم سورس برنامه ی زیر به شما کمک کند...

    FileCutter:
    http://csharpedu.persiangig.com/file...r.rar/download

  7. #7

    نقل قول: مشکل با نوع varbinery در data grid view

    برای خوندن از گرید ویوو به مشکل بر میخورم خطای تبدل میده
     byte[] n =(byte[]) DGv.CurrentRow.Cells[1].Value.ToString();

  8. #8

    نقل قول: مشکل با نوع varbinery در data grid view

    خوب شما دارید یک object را به آرایه ای از بایت ها تبدیل می کنید...
    بهتر است که مقادیر را با یک کاراکتر مشخص از هم جدا کنید و سپس با تابع split مقادیر را وارد آرایه کنید...
    آخرین ویرایش به وسیله farhad.k.t : دوشنبه 25 شهریور 1392 در 09:30 صبح

  9. #9

    نقل قول: مشکل با نوع varbinery در data grid view

    نقل قول نوشته شده توسط farhad.k.t مشاهده تاپیک
    خوب شما دارید یک object را به آرایه ای از بایت ها تبدیل می کنید...
    بهتر است که مقادیر را با یک کاراکتر مشخص از هم جدا کنید و سپس با تابع split مقادیر را وارد آرایه کنید...
    میشه کدشو بنویسین من متوجه نمیشم...خیلی ممنونم

  10. #10

    نقل قول: مشکل با نوع varbinery در data grid view

    سلام
    اگر تعداد byte های مشخصی را write می کنید می توانید از کد زیر در هنگام فراخوانی تابع binaryreading استفاده کنید:

                byte[] a = binaryreading();
    dataGridView1[0, 0].Value = a[0] + "," + a[1] + "," + a[2];


    در غیر این صورت از کد زیر استفاده کنید:

     string a = "";
    foreach (byte item in binaryreading())
    {
    a += item + ",";
    }
    dataGridView1[0, 0].Value = a.Substring(0, a.Length - 1);


    و برای استفاده از مقادیر گرید همانطور که گفته بودم از تابع split استفاده کنید:

                foreach (string item in dataGridView1[0,0].Value.ToString().Split(','))
    {
    MessageBox.Show(item);
    }


    برای ذخیره در DB هم مانند دستورات بالا را با دستور Insert استفاده نمایید.

    موفق باشید...

  11. #11

    نقل قول: مشکل با نوع varbinery در data grid view

    مشکلم اینجاست که دیتا ها بصورت بایت ذخیره نمیشن ..مثلا دیتای دومی 105, 102, 106 هست که ببینید چی ذخیره شده!!!
    Untitled.png

  12. #12

    نقل قول: مشکل با نوع varbinery در data grid view

    دوست عزیز فکر کنم این تصویر مربوط به آدرس سکتورهاست.
    باتوجه به این که اطلاعات موجود در گرید با تابع split فراخوانی می شوند ، نوع داده آن رشته ای می باشد و بهتر است به شکلnvarchar نیز در DB ثبت شوند ، شما می توانید پس از خواندن دیتا از گرید ، آن ها را Convert کنید و به صورت بایت استفاده کنید.(به دلیل استفاده از split باید نوع داده ها رشته ای باشند)

  13. #13

    نقل قول: مشکل با نوع varbinery در data grid view

    دوست عزیز با این روش یک فایل 300 کیلویی حداقل 1 دقیقه زمان میخواد و فکر نمکن روش بهینه ای باشه
    اگه ممکنه بگید چطوری نوع varbinery ذخیره شده در DB را به ارایه ای از بایت تبدیل کنم؟؟

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

  1. مشکل در نمایش اطلاعات در data grid view
    نوشته شده توسط mohammadreza0123 در بخش C#‎‎
    پاسخ: 0
    آخرین پست: پنج شنبه 21 شهریور 1392, 19:43 عصر
  2. سوال: مشکل در ورود اطلاعات با data grid view
    نوشته شده توسط reza69 در بخش C#‎‎
    پاسخ: 12
    آخرین پست: یک شنبه 29 بهمن 1391, 14:27 عصر
  3. سوال: مشکل در نمایش تصاویر در data grid view
    نوشته شده توسط reza69 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 17 دی 1391, 21:51 عصر
  4. مشکل در data grid view
    نوشته شده توسط javad_r_85 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: سه شنبه 21 اردیبهشت 1389, 10:05 صبح
  5. سوال: مشکل با درج اطلاعات در Data Grid View
    نوشته شده توسط Salar Ashgi در بخش C#‎‎
    پاسخ: 3
    آخرین پست: سه شنبه 04 فروردین 1388, 15:07 عصر

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

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