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

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

  1. #1
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

    اشکال ذخیره عکس در دیتابیس

    سلام
    یک برنامه ساده که اسم وعکس در دیتا بیس ذخیره کند را نوشتم(C#‎2008,SQL 2008)
    اسم به تنهای ذخیره می شود ولی دستورات وارد کردن عکس را که می نویسم پیام خطا می دهد
    پیام خطا بصورت عکس گذاشتم
    متشکرم اگر راهنمای بفرمایید
    عکس های ضمیمه عکس های ضمیمه

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

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

    دوست عزیز شما در مقدار دهی پارامتر عکستون اشتباه کردید، به جای مقدار picturebox نام فایل مورد نظر رو بدید درست میشه

  3. #3

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

    سلام دوست عزيز
    type فيلدت تو بانك چيه ؟ اگر متنيه (varchar,nvarchar) استاد عزيز در پست قبلي كامل درست گفته اما اگر byte يا image هست عملكردش فرق داره بايت اطلاعات تو به صورت آرايه اي از Byte تو بانك بريزي

  4. #4
    کاربر دائمی آواتار AliRezaPro
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    PE Header
    پست
    1,054

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

    فیلدش رو ازنوع image بگیر و به این صورا پارامتر رو ارسال کن
    comm.Parameters.Add(new SqlParameter("@Path", (object)tPath.Text));
    comm.Parameters.Add(new SqlParameter("@Image", (object)image));

  5. #5
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    سلام به اساتید گرامی
    فیلد را Image گذاشتم
    در مورد فرمایش شما
    عملكردش فرق داره بايت اطلاعات تو به صورت آرايه اي از Byte تو بانك بريزي
    متوجه منظور شما نشدم
    متشکر م اگر راهنمای بفرمایید
    باتشکر

  6. #6
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    شرمنده
    کد
    cmd.Parameters.AddWithValue("@Asm", tbxAsm.Text);

    cmd.Parameters.AddWithValue("@pic", pictureBox1);

    کد های که وارد کردم
    در قسمت Asm برای وارد کردن تکست باکس به تنهای جواب می دهد
    ولی Pic پیام خطا در عکس بالا را می دهد

  7. #7

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

    دوست عزيز از كد زير استفاده كن :

    byte[] imageData = ReadFile("آدرس تصوير");
    public byte[] ReadFile(string sPath)
    {
    try
    {
    byte[] data = null;
    FileInfo fInfo = new FileInfo(sPath);
    long numBytes = fInfo.Length;
    FileStream fStream = new FileStream(sPath, FileMode.Open, FileAccess.Read);
    BinaryReader br = new BinaryReader(fStream);
    data = br.ReadBytes((int)numBytes);
    return data;
    }
    catch { return null;}
    }


    بعد به جاي

    cmd.Parameters.AddWithValue("@pic", pictureBox1);

    pictureBox1 بنويس imageData

  8. #8
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    اگر اجازه بدهید بنده یک بار کد را ارائه کنم
    ودیگر عرض کنم می خواهم عکس با openFileDialog وارد شود
    اما کد
    این کدها را هر تکه از یک جای خورده نگیرید واگر اصلاح بفرماید متشکر میشوم
    کدها برای کانکت شدن , openFileDialog ,Insert,... می باشد اگر جواب دهد مرتب خواهم کرد
    باز هم تشکر

    {

    string pa = @"data source = (Local);Initial "+
    "catalog=PicTest1;integrated security=true";
    SqlConnection sc = new SqlConnection(pa);
    DataSet ds = new DataSet();
    SqlDataAdapter sda = new SqlDataAdapter();
    DataView dv = new DataView();
    CurrencyManager cm;
    SqlCommand cmd = new SqlCommand("ProPicTest1",sc);
    cmd.CommandType = CommandType.StoredProcedure;

    MemoryStream ms = new MemoryStream();
    pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
    byte[] arrImage = ms.GetBuffer();
    ms.Close();

    cmd.Parameters.AddWithValue("@Asm",tbxAsm.Text);
    cmd.Parameters.AddWithValue("@pic", pictureBox1);
    sc.Open();
    cmd.ExecuteNonQuery();
    sc.Close();
    }
    آخرین ویرایش به وسیله 81579001 : شنبه 30 آبان 1388 در 11:45 صبح

  9. #9
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    سلام
    دوستان واساتید محترم اگر زحمتی نیست
    بفرمایید اشکال کار بنده کجاست
    پیشاپیش از راهنمای شما متشکرم

  10. #10
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    عزیز

    تاپیک حذف کردن
    مشکل من حل نشد

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

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

    اقا نوع داده ای عکسو چی گرفتی؟

  12. #12
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    ببخشید
    image

  13. #13
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    این کدها اشکالی دارند یا خیر

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

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

    varchar کنیدش، دیگه باید جواب بده

  15. #15
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    در Build به این خط Error میده
    در عکس زیر

    cmd.Parameters.AddWithValue (openfiledialog1.filename());
    عکس های ضمیمه عکس های ضمیمه

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

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

    اقا علامت () رو از جلوی file name بردار

  17. #17
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    کاشان
    پست
    580

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

    سلام
    ببخشید دوست عزیز
    شما تکلیف رو روشن کن بعد دنبال جواب بگرد :
    1. نوع داده ای رو چی گرفتی ؟
    2. می خوای چی ذخیره کنی ؟ یه جا PictureBox پاس میدی ، یه جا اسم فایلو ...

    MemoryStream ms = new MemoryStream();
    pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
    byte[] arrImage = ms.GetBuffer();
    ms.Close();

    cmd.Parameters.AddWithValue("@Asm",tbxAsm.Text);
    cmd.Parameters.AddWithValue("@pic", pictureBox1);

    در همین کد بالا فقط به جای picturebox1 در خط آخر همون arrimage رو پاس بده .
    { البته اگه یادم مونده باشه اینجوری بود }

  18. #18
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    فرقی نکرد همان خطا

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

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

    اقا طبق این کد عمل کن، دوستمون راست میگه، شما اینطور عمل کن
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "data source=(local); initial catalog=m;integrated security=true";
    MemoryStream ms = new MemoryStream();
    pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
    byte[] arrpic = ms.GetBuffer();

    ms.Close();
    string s="insert into person values(@id,@arrpic)";
    SqlCommand cmd=new SqlCommand(s,con);
    cmd.Parameters.AddWithValue("@arrpic", arrpic);
    cmd.Parameters.AddWithValue("@id", textBox2.Text);
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();

  20. #20
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    سلام
    دوست عزیز
    نوع داده را اول Image گذاشتم که فرمودند به varchar تغییر دادم
    می خواهم یک عکس همراه اسم در دیتابیس ذخیره شود
    اسم از تکست باکس و عکس از PictureBox دریافت می شود

  21. #21
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    به این خط Error میدهد


    cmd.Parameters.AddWithValue("@pic",arrpic);


  22. #22
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    کاشان
    پست
    580

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

    شما نوع دیتابیس رو Varbinary بگذار و همین روش رو انجام بده . البته الان یادم نیست ولی فکر کنم همین طوری بود .
    انشاالله که حل میشه .

  23. #23
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    باکمال تاسف نشد

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

    arrpic

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

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

    اقا این کدی که من گذشتم رو عین این کد رو نذار،اسم فیلد های خودت رو روش بذار، این کد هیچ اشکالی نداره
    دقت کنی تو کدات جواب میگیری، موفق باشی

  25. #25
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    کاشان
    پست
    580

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

    regCom.CommandText = "INSERT INTO MembersPic (rescode,pic) VALUES (@rescode,@pic)";
    regCom.Parameters.Add("@rescode", SqlDbType.NChar).Value = newMember.code;
    regCom.Parameters.Add("@pic", SqlDbType.VarBinary).Value = (object)newMember.pic;
    regCom.ExecuteNonQuery();

    من از این کد برای ثبت تصویر تو دیتابیس استفاده می کنم و از کد زیر برای تبدیل یک تصویر به Byteها .
    public static byte[] ReadPicByte(string sPath)
    {
    //Initialize byte array with a null value initially.
    byte[] data = null;
    //Use FileInfo object to get file size.
    FileInfo fInfo = new FileInfo(sPath);
    long numBytes = fInfo.Length;
    //Open FileStream to read file
    FileStream fStream = new FileStream(sPath, FileMode.Open, FileAccess.Read);
    //Use BinaryReader to read file stream into byte array.
    BinaryReader br = new BinaryReader(fStream);
    //When you use BinaryReader, you need to supply number of bytes to read from file.
    //In this case we want to read entire file. So supplying total number of bytes.
    data = br.ReadBytes((int)numBytes);
    return data;
    }

    مشکلی هم نداره . ورودی این تابع همون آدرس عکس که از OpenFileDialog گرفتی . data برگشتی از این تابع در newMember.pic قرار داره که تو ثبت استفاده شده .

  26. #26
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

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

  27. #27
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    کاشان
    پست
    580

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

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

    1. ببین اول شما باید فیلد دیتابیست از نوع VarBinary باشه .
    2. باید با یه سری دستور از آدرس عکسی که داری Byteهای اونو دربیاری و تو یه متغیر از نوع byte[] ذخیره کنی .
    3. باید به شکلی که در بالا گفتم اونها رو پاس بدی به دستور Insert .

    راستی دیدم که با StoredProcedure کار کردی ، شاید هم اشکال از اون باشه . اینبار Query روداخل خود C#‎ و در یک Command بنویس ، ببین چی میشه !!!

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

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

    اقا به باور کن اون کدی که من گذاشتم رو با دادهای خودت تطبیق بدی حله

  29. #29
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

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

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

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

    اقا شما کد منو با نوع varchar ذخیره کن متمئن باش میشه، شما 2 تا فیلد تو کد های من بیشتر نمیبینی که، اونا رو جایگذاری کن حله، سوالی بود و اگه تونستم کمک کنم در خدمتم

  31. #31
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    عزیزم با خطای آن چکار کنم

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

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

    اقا شما تازه سی شارپ رو شروع کردی؟ چون کد های من پیچیده نبود، اگه تازه شروع کردی، به نظر من اگه اول کمی مطالعه کنی بهتر جواب میگیری، چون اینطور عملا فقط داری کدها رو کپی میکنی و اگه درست هم کار کنه از منطق اون سر در نمیاری و اگه اینطور بشه نمیتونی علت error های برنامتون رو بفهمید

  33. #33
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

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

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

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

    شما یه لطفی کن، تصویر کل کدی که توی فرمت نوشتی رو بذار اینجا

  35. #35
    کاربر دائمی آواتار 81579001
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    آرام و زیبا
    پست
    201

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

    سلام
    مشکل حل شد
    با همان image
    حالا دارم روی نمایش آن از روی دیتابیس کار می کنم
    فعلاً موقع نمایش در دیتاگرید ویو فقط قسمت کوچکی از عکس را نشان می دهد ودر pictureBox را هنوز نتوانستم ولی در تلاش هستم
    باتشکر از شما ودیگر استاد عزیز که حوصله کردید

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

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