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

نام تاپیک: ذخیره عکس در database???

  1. #1

    Unhappy ذخیره عکس در database???

    با سلام به همه ی دوستان عزیز......

    کسی میتونه به صورت گام به گام ذخیره عکس در دیتابس به من آموزش بده؟؟؟؟

  2. #2

    نقل قول: ذخیره عکس در database???

    شما یه فیلد از نوع IMAGE درست کن.
    یه پیکچر باکسم قرار بده. می تونی برای تصویر پیکچر باکس از open file dialog استفاده کنی.

    حالا تصویر پیکچر باکس رو اینطوری می ریزی تو دیتابیس :

    اونت کلیک باتن :

                try
    {
    SqlCommand cmd = new SqlCommand() { Connection = con };
    if (con.State == ConnectionState.Closed)
    {
    con.Open();
    }


    if (@ImageName != "")
    {

    FileStream fs = new FileStream(@ImageName, FileMode.Open, FileAccess.Read);
    byte[] picbyte = new byte[fs.Length];
    fs.Read(picbyte, 0, System.Convert.ToInt32(fs.Length));
    fs.Close();
    cmd.CommandText = "insert into table(نام فیلد ها)values(نام فیلد ها به اضافه ی @ به اول اونا)";
    cmd.Parameters.AddWithValue("@pic", picbyte);

    }
    else
    {
    cmd.CommandText = "insert into table(نام فیلد ها)values(نام فیلد ها به اضافه ی @ به اول اونا)";
    }

    cmd.Parameters.Add("@نام فیلد", SqlDbType.NVarChar).Value = textBox1.Text;

    //سایر فیلد ها


    if (cmd.ExecuteNonQuery() == 1)
    {
    MessageBox.Show("اطلاعات با موافقيت ثبت گرديد", "ثبت",MessageBoxButtons.OK,MessageBoxIcon.Aster isk);

    }
    cmd.Parameters.Clear();




    this.نام تیبل ادپتور.Fill(this.نام فایل XSD .نام تیبل);

    con.Close();
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }


    یوزینگ :

    using System.IO;


    این رو هم تعریف کن :

     string ImageName = string.Empty;


    موفق باشی!
    آخرین ویرایش به وسیله ehsan7007 : جمعه 25 مرداد 1392 در 10:31 صبح

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    پست
    152

    نقل قول: ذخیره عکس در database???

    اما میگن دیگه نباید از نوع image استفاده کرد و باید از نوع varbainary max استفاده کنند

  4. #4

    نقل قول: ذخیره عکس در database???

    برای open dialog که کد خواصی که نمی خواد.؟؟؟؟؟ ؟(منظور آدرس عکس)؟

    برای ذخیره از bit به جای image استفاده کرد.؟

  5. #5

    نقل قول: ذخیره عکس در database???

    این برای باتن مسیر تصویر :

                try
    {
    OpenFileDialog Ofd = new OpenFileDialog() { Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;* .PNG", Title = "انتخاب تصوير" };
    if (Ofd.ShowDialog() == DialogResult.OK)
    {
    pictureBox1.Image = System.Drawing.Image.FromFile(Ofd.FileName);
    ImageName = Ofd.FileName;
    }
    }
    catch (Exception)
    {
    ImageName = "";
    }


    اما میگن دیگه نباید از نوع image استفاده کرد و باید از نوع varbainary max استفاده کنند
    در مورد "باید " چیزی نشنیدم . فکر نمی کنم مشکلی داشته باشه .
    آخرین ویرایش به وسیله ehsan7007 : جمعه 25 مرداد 1392 در 10:33 صبح

  6. #6

    نقل قول: ذخیره عکس در database???

    سلام
    بله شما کافیه با open dialog آدرس عکسو بفرستی.
    بنده از نوع Image استفاده میکنم و هیچ ایرادی هم نداره.

  7. #7

    نقل قول: ذخیره عکس در database???

    سلام میشه کده برای نمایش از طریق linq هم یکی بذاره؟
    با استفاده از کد های زیر عکس رو ذخیره میکنم اما نمیتونم برای نمایشش مثلا توی یه Picturebox استفده کنم؟


    private void button2_Click(object sender, EventArgs e)
    {
    byte[] imageData = ReadFile(textBox1.Text);

    bankEntities db = new bankEntities();
    Picture_Save ps = new Picture_Save()
    {
    name = "image",
    image = imageData,
    note = "tttttttt"
    };
    db.Picture_Save.AddObject(ps);
    db.SaveChanges();
    dataGridView1.DataSource = db.Picture_Save;
    }

  8. #8

    نقل قول: ذخیره عکس در database???

    دستت بی بلا..

  9. #9

  10. #10

    نقل قول: ذخیره عکس در database???

    ذخیره کردن یک تصویر
    نمایش تصاویر ذخیره شده در جدول
    جاوس جان ممنونم از لطفت خودم یه سورس ADO برای نمایش عکس داشتم اما هر چی دستکاری کردم نتونستم به LINQ بازنویسیش کنم. تشکر

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: ذخیره عکس در database???

    نقل قول نوشته شده توسط samadblaj مشاهده تاپیک
    سلام میشه کده برای نمایش از طریق linq هم یکی بذاره؟
    با استفاده از کد های زیر عکس رو ذخیره میکنم اما نمیتونم برای نمایشش مثلا توی یه Picturebox استفده کنم؟


    private void button2_Click(object sender, EventArgs e)
    {
    byte[] imageData = ReadFile(textBox1.Text);

    bankEntities db = new bankEntities();
    Picture_Save ps = new Picture_Save()
    {
    name = "image",
    image = imageData,
    note = "tttttttt"
    };
    db.Picture_Save.AddObject(ps);
    db.SaveChanges();
    dataGridView1.DataSource = db.Picture_Save;
    }
    سلام
    اینجوری میشه:
     
    var query1 = (from C in lbank.tb_customers where C.CustomerID == 1 select C.Pic).SingleOrDefault();
    MemoryStream ms = new MemoryStream((byte[])(query1));
    pictureBox1.Image = Image.FromStream(ms);

    lbank یه نمونه ازشی LinqToSql هست. توی این کد، رکوردی از جدول tb_customer که CustomerID اش مساوی یک بود رو انتخاب کردیم و عکس(Pic) رو توی پیکچر باکس نشون دادیم.
    برای نشون دادن توی دیتاگرید ویو که مشکل خاصی نیست:
     
    var query = from C in lbank.tb_customers select C;
    dataGridView1.DataSource = query;

    فقط نکته ای که هست توی فایل dbml باید فیلد عکس رو انتخاب کنی و در قسمت Properties نوع (Type) اش رو روی
    byte[] 
    قرار بدی. نوع داده ای توی بانک هم
    VarBinary(MAX)
    هست.


    البته برای اینکه اگه عکسی وجود نداشت خطا نداشته باشیم بهتر کد رو به صورت زیر بنویسید:
     
    var query1 = (from C in lbank.tb_customers where C.CustomerID == 2 select C.Pic).SingleOrDefault();
    if (query1 != null)
    {
    MemoryStream ms = new MemoryStream((byte[])(query1));
    pictureBox1.Image = Image.FromStream(ms);
    }
    else
    {
    pictureBox1.Image = null;
    }

    آخرین ویرایش به وسیله Mahmoud Zaad : دوشنبه 20 شهریور 1391 در 13:37 عصر دلیل: البته!

  12. #12
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: ذخیره عکس در database???

    ذخیره عکس در دیتابیس با استفاده از LinqToSql:
    اسکریبپ دیتابیس هم هست ولی خودتون به راحتی می تونید یه جدول به اسم tb_customer و سه تا فیلد به اسمهای CustomerID با نوع Int و Customer با نوع varchar(50) و Pic از نوع varbinary(max) بسازید و LinqToSql رو از روی همین بانک بنا کنید!
    فایل های ضمیمه فایل های ضمیمه

  13. #13
    کاربر دائمی آواتار SharpSabre
    تاریخ عضویت
    دی 1388
    محل زندگی
    خونمون
    سن
    41
    پست
    136

    نقل قول: ذخیره عکس در database???

    می شه بگید که اگر یک PictureBox + یک کلید که توسط OpenFileDialog1 عکس رو داخلش می ذاره ، همراه با بفیه فیلد های دیگه چطور بریزیم تو OleDB ?
    string query = "INSERT INTO [User Info] (Name,Family,image) VALUES ('" + textBox1.Text + "','" +'" + textBox2.Text + "','" + PictureBox.imageLocation + "');

    یا دیگه String query نمی شه استفاده کرد ؟

    ممنون
    آخرین ویرایش به وسیله SharpSabre : جمعه 24 شهریور 1391 در 02:59 صبح

  14. #14
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: ذخیره عکس در database???

    نقل قول نوشته شده توسط SharpSabre مشاهده تاپیک
    می شه بگید که اگر یک PictureBox + یک کلید که توسط OpenFileDialog1 عکس رو داخلش می ذاره ، همراه با بفیه فیلد های دیگه چطور بریزیم تو OleDB ?
    string query = "INSERT INTO [User Info] (Name,Family,image) VALUES ('" + textBox1.Text + "','" +'" + textBox2.Text + "','" + PictureBox.imageLocation + "');

    یا دیگه String query نمی شه استفاده کرد ؟

    ممنون
    اینجا یه نمونه هست.

  15. #15
    کاربر دائمی آواتار SharpSabre
    تاریخ عضویت
    دی 1388
    محل زندگی
    خونمون
    سن
    41
    پست
    136

    نقل قول: ذخیره عکس در database???

    نقل قول نوشته شده توسط maysamfthi مشاهده تاپیک
    اینجا یه نمونه هست.
      if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
    byte[] bytes = File.ReadAllBytes(openFileDialog.FileName);
    cmd.Parameters.Clear();
    cmd.Parameters.Add("@Pic", OleDbType.Binary).Value = bytes;
    doCmd("insert into table1 (picture) values(@pic)");
    }
    این رو از همون نمونه که فرمودید استفاده می کنم ،، اگه عکس رو انتخاب کنم Error می ده و اصلا خودش OpenFileDialog رو باز می کنه
    اینو نمی شه تغییر بدید که از PictureBox استفاده شه ؟

    ممنونم.

  16. #16
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: ذخیره عکس در database???

    اینجوری بنویسید:
    if (pictureBox1.Image != null)
    {
    MemoryStream ms = new MemoryStream();
    pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
    byte[] arrpic = ms.GetBuffer();
    ms.Close();
    cmd.Parameters.Add("@Pic",arrpic);
    }
    else
    {
    cmd.Parameters.Add("@Pic", DBNull.Value);

    }

  17. #17
    کاربر دائمی آواتار SharpSabre
    تاریخ عضویت
    دی 1388
    محل زندگی
    خونمون
    سن
    41
    پست
    136

    نقل قول: ذخیره عکس در database???

    این دستور رو قراردادم همه چی خوب و عالی اجرا می شه ولی ظاهرا عکس تو فایل DB نمی ره ! من بجای Pic متغیر خودم رو گذاشتم .
    نباید اینو :
    cmd.CommandText = "Insert INTO [User Info] (Avatar) VALUES (@arrpic)";

    بعد از پارامتر اضافه کنم ؟

  18. #18

    نقل قول: ذخیره عکس در database???

    نقل قول نوشته شده توسط maysamfthi مشاهده تاپیک
    ذخیره عکس در دیتابیس با استفاده از LinqToSql:
    اسکریبپ دیتابیس هم هست ولی خودتون به راحتی می تونید یه جدول به اسم tb_customer و سه تا فیلد به اسمهای CustomerID با نوع Int و Customer با نوع varchar(50) و Pic از نوع varbinary(max) بسازید و LinqToSql رو از روی همین بانک بنا کنید!
    آقای میثم عزیز دوباره تشکر بابت پست مفیدوتون یه سوالی که برام پیش اومده من یه برنامه دارم مینویسم که نیاز به پیوست یک سری اطلاعات نظیر فایل های word هستش آیا از این روش میشه؟؟؟
    به نظر شما نحوه خواندن رو به چه شکل ایجاد کنم؟ یعنی بعد از اینکه فایل پیوست شد دریافت فایل به چه شکل میشه؟
    آخرین ویرایش به وسیله samadblaj : یک شنبه 28 آبان 1391 در 20:58 عصر دلیل: اشتباه املایی (میسم) دی:

  19. #19
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: ذخیره عکس در database???

    سلام
    میثم هستم.
    برای ذخیره فایل در دیتابیس:
    FileStream fs = new FileStream(FileAddress, FileMode.Open, FileAccess.Read);
    BinaryReader br = new BinaryReader(fs);
    Byte[] bytes = br.ReadBytes((Int32)fs.Length);
    br.Close();
    fs.Close();

    برای دریافت (دانلود) فایل در مکان دلخواه (با فرض اینکه فایل ها در گرید لود شده باشند) :
    SaveFileDialog sfd = new SaveFileDialog();
    //sfd.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF";
    sfd.Title = "ذخیره";
    sfd.FileName = dataGridView1.CurrentRow.Cells["name"].Value.ToString();
    if (sfd.ShowDialog() == DialogResult.OK)
    {
    byte[] fileData = (byte[])(dataGridView1.CurrentRow.Cells["ole"].Value);
    FileStream fs = new FileStream(sfd.FileName, FileMode.Create, FileAccess.ReadWrite);
    BinaryWriter bw = new BinaryWriter(fs);
    bw.Write(fileData);
    bw.Close();
    MessageBox.Show("Saved");
    }

  20. #20

    نقل قول: ذخیره عکس در database???

    مرسی... عالی بود کاملا جواب داد.
    آخرین ویرایش به وسیله samadblaj : جمعه 11 اسفند 1391 در 15:29 عصر

  21. #21
    کاربر دائمی
    تاریخ عضویت
    مهر 1388
    محل زندگی
    بوشهر
    پست
    110

    نقل قول: ذخیره عکس در database???

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    ذخیره عکس در دیتابیس با استفاده از LinqToSql:
    اسکریبپ دیتابیس هم هست ولی خودتون به راحتی می تونید یه جدول به اسم tb_customer و سه تا فیلد به اسمهای CustomerID با نوع Int و Customer با نوع varchar(50) و Pic از نوع varbinary(max) بسازید و LinqToSql رو از روی همین بانک بنا کنید!
    چرا از SQL ایراد می گیره؟

  22. #22
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: ذخیره عکس در database???

    چه ایرادی؟ لطفاً متن یا تصویر خطا رو قرار بدید.

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

  1. ذخیره عکس در database
    نوشته شده توسط AzarFazel در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: جمعه 16 مرداد 1388, 09:34 صبح
  2. بهترین راه ذخیره عکس در DataBase
    نوشته شده توسط مهدی رحیم زاده در بخش C#‎‎
    پاسخ: 9
    آخرین پست: یک شنبه 17 خرداد 1388, 14:36 عصر
  3. یک مشکل عجیب هنگام ذخیره عکس در DataBase
    نوشته شده توسط مهدی رحیم زاده در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 6
    آخرین پست: سه شنبه 22 اردیبهشت 1388, 15:04 عصر
  4. ذخیره عکس در داخل database sql
    نوشته شده توسط محسن بابائی در بخش VB.NET
    پاسخ: 6
    آخرین پست: سه شنبه 02 مرداد 1386, 12:02 عصر
  5. ذخیره کردن عکس در Database
    نوشته شده توسط ascpro در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: سه شنبه 04 اردیبهشت 1386, 23:34 عصر

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

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