تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 4 1234 آخرآخر
نمايش نتايج 1 به 10 از 32

نام تاپيک: مشکلاک من با بانک اطلاعاتی (ADO.net)

  1. #1
    آخر فروم باز vorojax's Avatar
    تاريخ عضويت
    Mar 2006
    محل سكونت
    آنجا که دل خوشست....
    پست ها
    1,270

    پيش فرض مشکلاک من با بانک اطلاعاتی (ADO.net)

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

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

    (البته چندتا مشکل دیگم دارم! مثلا این اس کی ال کامند بیلدر رو نمی فهم چطور باید استفاد کنم!)

    این هم کد هایی که واسه برنامه دیتا گرید نوشتم:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by vorojax; 25-11-2009 at 00:22. دليل: تغییر عنوان !!

  2. #2
    آخر فروم باز vorojax's Avatar
    تاريخ عضويت
    Mar 2006
    محل سكونت
    آنجا که دل خوشست....
    پست ها
    1,270

    پيش فرض

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

  3. #3
    اگه نباشه جاش خالی می مونه MTPROG's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    شهر 3500 ساله
    پست ها
    432

    پيش فرض

    table1TableAdapter.Fill(tDatabase1DataSet.Table1);
    table1TableAdapter.Update(tDatabase1DataSet);
    جای این خط کد رو عوض کن
    یعنی اینطوری

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  4. این کاربر از MTPROG بخاطر این مطلب مفید تشکر کرده است


  5. #4
    آخر فروم باز vorojax's Avatar
    تاريخ عضويت
    Mar 2006
    محل سكونت
    آنجا که دل خوشست....
    پست ها
    1,270

    پيش فرض

    سلام و تشکر
    توفیقی نداشت!
    باز وقتی تو رو بانک اطلاعاتی یه رفرش وصل می شم یا Show data Table رو می زنم اطلاعات داخل بانک اطلاعاتی همون آش و همون کاسه هست!

  6. #5
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    با اجازه دوست همکار عزیز جناب MTPROG، من هم سعی میکنم یک مطالب کمکی بیان کنم.

    =====

    چند نکته وجود دارد.
    اول آنکه متد Insert خارج از چارت DataGridView یک آیتم اضافه میکند و معمولاً استفاده نمیشود.

    بعد چون DataAdapter شما Typed است نیاز به استفاده از SqlCommandBuilder نخواهید داشت.
    ولی باز به نمایه طراحی TypedDataSet تان بروید و مطمئن شوید که بخش پایینی DataAdapter همه 4 عدد Command اصلی InserCommand و DeleteCommand و UpdateCommand و SelectCommand اش پر باشد.

    در اخر تک دستور زیر برای خواندن از دیتابیس کافی است:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و در مقابل تک دستور زیر برای ذخیره محتویات هم کافی است:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    =====

    ولی همچنان یک نکته ظریف دیگر وجود دارد که لازم است دقت کنید.
    این مطلب اصلاً ربطی به ADO.Net ندارد و مربلوط به شرایط کاری و دیباگ خود VS است.
    وقتی یک فایل دیتابیس را در پروژه تان در VS اضافه میکنید معمولاً Copy to Output Directory ان روی Copy Always ست میشود.
    این تنظیم به این معنی است که هر بار که از داخل VS پروزه کامپایل (و سپس اجرا) میشود خودکار فایل قبلی موجود در دایرکتوری خروجی پاک شود و فایل جدید موجود در پروژه جایگزین آن شود. (و سپس برنامه اجرا شود)

    این حالت معمولاً بسیار خوب و مفید است و باعث میشود هر تغییری در دیتابیس (جداول و فیلدها و رویه ها و... و...) اعمال کنید در اجرای بعدی دیده شود.
    ولی اگر از ان اطلاع نداشته باشید سردرگمتان خواهد کرد.

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

    پیشنهاد میکنم یکبار به جای داخل VS با MyComputer به محل پوشه bin محل پروژه بروید و از آنجا دستی فایل exe تان را چند بار اجرا کنید و ببینید تغییرات ذخیره میشود یا نه؟

    (
    البته با انتخاب فایل در SolutionExplorer میتوانید گزینه مذکور را در پالت Properties تغییر دهید.
    ولی گزینه پیشفرض فعلی بد نیست.
    )

    موفق باشید.

  7. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  8. #6
    آخر فروم باز vorojax's Avatar
    تاريخ عضويت
    Mar 2006
    محل سكونت
    آنجا که دل خوشست....
    پست ها
    1,270

    پيش فرض

    سلام دوست عزیز و متشکر از توضیحاتتان....
    بنده یک برنامه ساده نشوتم دو سه روز بر روی کامپیوتربنده بود و تمام اطلاعاتی که توسط خود برنامه وارد آن برنامه کرده بودم بود...هر روکوردی که درج کردم بود....
    بعد و ارد VS2008 شدم و در خود پروژه به از طریغ کانکشن سمت چپ به بانک متصل شدم و Show data Table رو زدم اطلاعات اولیه دیتابیس که از این طریق وارد کردم بود و هیچ تغییری وارد نشده بود و اطلاعاتی که توسط دیتا گرید و خود برنامه وارد کرده بودم وارد نشده بود.....و یک رفرش کردم....اطلاعات وارد شده به برنامه طی 3 روز پرید...و در خود دیتاگرید هم تنها همان چند رکوردی که توسط Show data Table وارد کرده بودم نشون می داد و نه رکوردها که توسط متد اینسرت وارد کرده بودم....
    مشکل کجاست؟

  9. #7
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    فقط در یک شرایط اطلاعات شما در VS خودکار و بدون فرمان مستقیم شما پاک میشود.
    (که آن هم در دیتابیسهای SQLServer با حالت Attach شده مصداق ندارد.)
    نقل قول نوشته شده توسط _H2_
    ولی همچنان یک نکته ظریف دیگر وجود دارد که لازم است دقت کنید.
    این مطلب اصلاً ربطی به ADO.Net ندارد و مربلوط به شرایط کاری و دیباگ خود VS است.
    وقتی یک فایل دیتابیس را در پروژه تان در VS اضافه میکنید معمولاً Copy to Output Directory ان روی Copy Always ست میشود.
    این تنظیم به این معنی است که هر بار که از داخل VS پروزه کامپایل (و سپس اجرا) میشود خودکار فایل قبلی موجود در دایرکتوری خروجی پاک شود و فایل جدید موجود در پروژه جایگزین آن شود. (و سپس برنامه اجرا شود)

    این حالت معمولاً بسیار خوب و مفید است و باعث میشود هر تغییری در دیتابیس (جداول و فیلدها و رویه ها و... و...) اعمال کنید در اجرای بعدی دیده شود.
    ولی اگر از ان اطلاع نداشته باشید سردرگمتان خواهد کرد.

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

    پیشنهاد میکنم یکبار به جای داخل VS با MyComputer به محل پوشه bin محل پروژه بروید و از آنجا دستی فایل exe تان را چند بار اجرا کنید و ببینید تغییرات ذخیره میشود یا نه؟

    (
    البته با انتخاب فایل در SolutionExplorer میتوانید گزینه مذکور را در پالت Properties تغییر دهید.
    ولی گزینه پیشفرض فعلی بد نیست.
    )

  10. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  11. #8
    آخر فروم باز vorojax's Avatar
    تاريخ عضويت
    Mar 2006
    محل سكونت
    آنجا که دل خوشست....
    پست ها
    1,270

    پيش فرض

    سلام
    فقط در یک شرایط اطلاعات شما در VS خودکار و بدون فرمان مستقیم شما پاک میشود.
    (که آن هم در دیتابیسهای SQLServer با حالت Attach شده مصداق ندارد.)
    نقل قول:
    نوشته شده توسط _H2_
    ولی همچنان یک نکته ظریف دیگر وجود دارد که لازم است دقت کنید.
    این مطلب اصلاً ربطی به ADO.Net ندارد و مربلوط به شرایط کاری و دیباگ خود VS است.
    وقتی یک فایل دیتابیس را در پروژه تان در VS اضافه میکنید معمولاً Copy to Output Directory ان روی Copy Always ست میشود.
    این تنظیم به این معنی است که هر بار که از داخل VS پروزه کامپایل (و سپس اجرا) میشود خودکار فایل قبلی موجود در دایرکتوری خروجی پاک شود و فایل جدید موجود در پروژه جایگزین آن شود. (و سپس برنامه اجرا شود)

    این حالت معمولاً بسیار خوب و مفید است و باعث میشود هر تغییری در دیتابیس (جداول و فیلدها و رویه ها و... و...) اعمال کنید در اجرای بعدی دیده شود.
    ولی اگر از ان اطلاع نداشته باشید سردرگمتان خواهد کرد.

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

    پیشنهاد میکنم یکبار به جای داخل VS با MyComputer به محل پوشه bin محل پروژه بروید و از آنجا دستی فایل exe تان را چند بار اجرا کنید و ببینید تغییرات ذخیره میشود یا نه؟

    (
    البته با انتخاب فایل در SolutionExplorer میتوانید گزینه مذکور را در پالت Properties تغییر دهید.
    ولی گزینه پیشفرض فعلی بد نیست.
    )
    دوست عزیز من چیزی از گفته های شما متوجه نمی شوم ، این برمامه من از بین اجراش می کنم هیچ مشکلی نداره چند روز هم تست کردم در هر بار اجرا اطلاعات بود فقط کافی وصل شم از طریغ خو ویژال استادیو و یک رفرش بدم به بانک اطلاعاتی همه چی می پره...آیا امکانش هست که شما یک برنامه کوچک که فقط یک رکورد اضافه کن بنویسید با دیتابیس به بنده بدهید تا ببینم آیا آن نیز بعد از رفرش کردن اطلاعاتش از بین می رود یا خیر....

  12. #9
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    آیا امکانش هست که شما یک برنامه کوچک که فقط یک رکورد اضافه کن بنویسید با دیتابیس به بنده بدهید
    نمونه از Binding (+رفع مشکل فیلدهای Autonumber در بانک Access در حالت Binding)
    support.h02.ir/fwlink/?LinkId=1001498227

    نمونه مخلوط از نمایش جدولی با DataTable+DataAdapter ولی درج مستقیم با Command
    support.h02.ir/fwlink/?LinkId=1000503617

    نمونه نمایش جدول با قابلیت ویرایش در وب سایت با و بدون Ajax:
    support.h02.ir/fwlink/?LinkId=1003425737

    ذخیره و بازیابی تصاویر داخل دیتابیس:
    support.h02.ir/fwlink/?LinkId=1000198547

  13. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  14. #10
    آخر فروم باز vorojax's Avatar
    تاريخ عضويت
    Mar 2006
    محل سكونت
    آنجا که دل خوشست....
    پست ها
    1,270

    پيش فرض

    دوست عزیز این ها همه بانک های اطلاعاتیشون SQL server هست درسته؟ چون بنده می خواهم فقط یبا sql server کار کنم...

صفحه 1 از 4 1234 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •