آخرين پست هاي ارسالي انجمن ايران دلفي

تماشای رایگان فیلم ایرانی ، خارجی و کودک آکادمی دلفی
نمایش نتایج: از 1 به 11 از 11

موضوع: ویرایش جدول

Hybrid View

  1. #1
    مدیر انجمن meyti آواتار ها
    تاریخ عضویت
    August 2013
    نوشته ها
    143
    تشکر ها
    134
    تشکر شده 78 بار در 55 ارسال.

    ویرایش جدول

    با سلام
    یک برنامه حسابداری که دارای یک جدول سند با فیلدهای id، بدهکار بستانکار، شرح میباشد ، هر سند با توجه به شماره id مشخص گردیده و کوئری گرفته میشود ؛
    مثلا سند 1 دارای 2 رکورد ، سند 5 دارای 7 رکورد و ...
    حالا جهت ویرایش بهترین متد چیست ؟
    کاری که خودم انجام میدم اینه که با id اون رکورد ها رو داخل یک جدول موقتی میریزم و از جدول اصلی حذف میکنم و جدول موقتی که حذف اضافه یا ویرایش میشه رو جدیدا به جدول اصلی اضافه میکنم !
    آیا این کار درسته ؟ یا روش بهتری هم هست ؟

  2. #2
    مدیر انجمن b_e_shamlu آواتار ها
    تاریخ عضویت
    July 2013
    محل سکونت
    کرج
    سن
    56
    نوشته ها
    123
    تشکر ها
    149
    تشکر شده 94 بار در 46 ارسال.

    پاسخ : ویرایش جدول

    سلام مهندس
    فکر کنم این کار درستی نباشد که داخل یک فایل موقت اطلاعات وارده شده قبلی را کپی کنی و اطلاعات را از داخل فایل اصلی خود پاک کنی به چند دلیل
    1- احتمال قطع ارتباط با فایل اصلی قبل از ذخیره کردن آن وجود دارد و بادت باشه دیگه اطلاعات به جالی خودش برنمیگرده
    2- چون فایل اصلی را پاک کردین دیگر اطلاعات به جای اصلی خود ذخیره نخواهد شد که در بعضی از مواقع خود این کار در گزارش اشکال به وجود می آورد
    3- اینکه امکان دارد که برنامه را بخواهی گسترش دهی نفر بعدی که میخواهد با این فایل ارتباط برقرار کنه اطلاعات آن رکورد دیگر موجود نیست و اشکالاتی که مربوط به خودش میباشد

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

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

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


    به امید موفقیت
    دلفی کاران را دوست دارم [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]

    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]



  3. کاربر مقابل از b_e_shamlu عزیز به خاطر این پست مفید تشکر کرده است:

    meyti (22 / February / 2015)

  4. #3
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1

    پاسخ : ویرایش جدول

    نقل قول نوشته اصلی توسط meyti نمایش پست ها
    با سلام
    یک برنامه حسابداری که دارای یک جدول سند با فیلدهای id، بدهکار بستانکار، شرح میباشد ، هر سند با توجه به شماره id مشخص گردیده و کوئری گرفته میشود ؛
    مثلا سند 1 دارای 2 رکورد ، سند 5 دارای 7 رکورد و ...
    حالا جهت ویرایش بهترین متد چیست ؟
    کاری که خودم انجام میدم اینه که با id اون رکورد ها رو داخل یک جدول موقتی میریزم و از جدول اصلی حذف میکنم و جدول موقتی که حذف اضافه یا ویرایش میشه رو جدیدا به جدول اصلی اضافه میکنم !
    آیا این کار درسته ؟ یا روش بهتری هم هست ؟
    سلام.
    اگه امکانش هست حداقل چند تا عکس از جداول دیتابیس و محیط نرم افزارتون قرار بدید تا بتونیم نظرات بهتری رو براتون ارسال کنیم...
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  5. کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده است:

    meyti (22 / February / 2015)

  6. #4
    مدیر انجمن meyti آواتار ها
    تاریخ عضویت
    August 2013
    نوشته ها
    143
    تشکر ها
    134
    تشکر شده 78 بار در 55 ارسال.

    پاسخ : ویرایش جدول

    با تشکر از اساتید ، باید عرض کنم که عمل حذف کردن رکورد ها بعد از ویرایش و موقع درج صورت میگیره ! و بعد از درج کامل جدول موقتی حذف میشه . یه عکس از اطلاعات جدول میزارم که بهتر راهنماییم کنید :
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]

    رکودها با شماره های یکسان مربوط به یک سند میشن : مثلا شماره سند 10 دارای دو رکورد هست ! ما اگه بعدا قرار باشه این سند رو ویرایش بکنیم مثلا چند رکورد دیگه بهش اضافه بشه چیکار باید کرد ؟
    یا مثلا سند شماره 11 تعداد 10 رکورد داره که اگه ویرایش بشه ممکنه که بعضی از رکورد ها حذف بشه یا به اون اضافه بشه .
    برنامه هم تک کاربره هست و تحت شبکه هم نیست ! با تشکر

  7. کاربر مقابل از meyti عزیز به خاطر این پست مفید تشکر کرده است:

    admin (23 / February / 2015)

  8. #5
    مدیر انجمن javad_rajabloo آواتار ها
    تاریخ عضویت
    May 2013
    محل سکونت
    گنبد کاووس
    سن
    11
    نوشته ها
    71
    تشکر ها
    21
    تشکر شده 30 بار در 18 ارسال.

    پاسخ : ویرایش جدول

    من یه نرم افزار نوشتم که کاراییش فکر می کنم شبیه نرم افزار شماست
    یک نرم افزار برای مدیریت کامپیوترهای یک سازمان
    عکسش رو پیوست می ذارم
    جدول سمت راست مربوط به اطلاعات کلی کامپیوتره و جدول سمت چپ مربوط به مشخصات داخلی کامپیوتر
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]

    جدول سمت راست اطلاعات اصلی یک کامپیوتر رو ثبت میکنه که فیلد مشترک با سمت چپ فیلد ID هست
    وقتی اطلاعات در جدول master ثبت شد ، کاربر میره اطلاعات رو در جدول Detail وارد می کنه
    همونطور که می بینید وقتی سمت راست بر روی یک رکورد کلیک میشه ، اطلاعات همون ID در جدول سمت چپ که detail هست نمایش داده میشه
    پیشنهاد من اینه که یک جدول با اطلاعات کلی سند درست کنید و یک جدول برای جزئیات
    وقتی هم که خواستید حذف کنید (اطلاعات کلی رو ) ، ID مورد نظر در دو جدول حذف بشه

  9. 2 کاربر مقابل از javad_rajabloo عزیز به خاطر این پست مفید تشکر کرده اند .

    admin (23 / February / 2015),meyti (23 / February / 2015)

  10. #6
    مدیر انجمن meyti آواتار ها
    تاریخ عضویت
    August 2013
    نوشته ها
    143
    تشکر ها
    134
    تشکر شده 78 بار در 55 ارسال.

    پاسخ : ویرایش جدول

    نقل قول نوشته اصلی توسط javad_rajabloo نمایش پست ها
    وقتی اطلاعات در جدول master ثبت شد ، کاربر میره اطلاعات رو در جدول Detail وارد می کنه
    همونطور که می بینید وقتی سمت راست بر روی یک رکورد کلیک میشه ، اطلاعات همون ID در جدول سمت چپ که detail هست نمایش داده میشه
    پیشنهاد من اینه که یک جدول با اطلاعات کلی سند درست کنید و یک جدول برای جزئیات
    وقتی هم که خواستید حذف کنید (اطلاعات کلی رو ) ، ID مورد نظر در دو جدول حذف بشه
    با تشکر بله مثل برنامه شماست منم از دو جدول استفاده میکنم .
    شما برای ویرایش جدول detail چه کاری انجام میدین ؟ مثلا همون ردیف 53 عوض بشه به یه لبتاپ !

  11. #7
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1

    پاسخ : ویرایش جدول

    قانونا شما در جدولتون نمیتونید چند سند با دقیقا یک مشخصات داشته باشید.درسته ؟
    (منظورم اینه که تو سندهای مختلف id متفاوته و در سندهای با id یکسان بقیه ی فیلدها نمیتونند دقیقا یکی باشند )
    شماره سند 10 رو اگه قرار باشه ده رکورد هم بهش اضافه کنیم نیازی نیست که اون رو در یک جدول دیگه ای بریزیم ، مگر برای امنیت بیشتر ...
    کلا بهترین روش کار در تراکنش های حساس، انجام آنها در قالب یک Transaction است. اینجا عنوان کردم
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    شما در زمان تهیه گزارش قراره تمام رکوردهایی رو که id آنها مساوی 10 است رو به عنوان سند فلان واکشی کنید.
    مثلا :
    کد:
    Select * from tblSanad
    Where id='10';
    در زمان ویرایش هم مثلا میتونید از بکار بردن چند خصوصیت برای فیلترینگ استفاده نمایید.
    مثلا :
    کد:
    update tblSanad
    set BED='20000'
    where id='10' 
    and BED='10000'
    and BES='12000';
    ضمنا اگر قرار است که روی مقادیر کنترلی صورت پذیرد به عنوان مثال اگر کسی فیلد بستانکاری رو تغییر داد ، بستانکاری کل تغییر کند میتوان از Trigger استفاده نمود.
    یا مثلا قرار باشه که کنترل کنید که چه فردی و با چه یوزری چه کاری رو انجام داده و ...
    برای آشنایی با تریگر پست های زیر رو مطالعه کنید.

    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]

    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  12. 3 کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده اند .

    hooch (28 / February / 2015),javad_rajabloo (23 / February / 2015),meyti (23 / February / 2015)

  13. #8
    مدیر انجمن meyti آواتار ها
    تاریخ عضویت
    August 2013
    نوشته ها
    143
    تشکر ها
    134
    تشکر شده 78 بار در 55 ارسال.

    پاسخ : ویرایش جدول

    نقل قول نوشته اصلی توسط admin نمایش پست ها
    قانونا شما در جدولتون نمیتونید چند سند با دقیقا یک مشخصات داشته باشید.درسته ؟
    (منظورم اینه که تو سندهای مختلف id متفاوته و در سندهای با id یکسان بقیه ی فیلدها نمیتونند دقیقا یکی باشند )
    بله درسته ، با id چک میشن برای کوئری گرفتن و هر id مربوط به یک سند است . نکته اینجاست که ممکن است کل ردیف های وارد شده در سند حذف شود و ردیف های جدیدی اضافه شوند .
    احتمالا باید از همون Transaction استفاده بشه
    ممنون از توجه شما دوستان بزرگوار

  14. #9
    مدیر انجمن javad_rajabloo آواتار ها
    تاریخ عضویت
    May 2013
    محل سکونت
    گنبد کاووس
    سن
    11
    نوشته ها
    71
    تشکر ها
    21
    تشکر شده 30 بار در 18 ارسال.

    پاسخ : ویرایش جدول

    دو تا راه حل میشه پیشنهاد داد .
    1- اگه محتویات سند کامل می خواد تغییر کنه ( سند بخواد حذف بشه) داخل یه Transaction ابتدا تمام رکوردهایی که ID سند رو دارن در جدول دوم رو حذف کن و تمام مقادیر جدول اول رو بجز شماره سند خالی کن ( چرا ؟ واسه اینکه شماره سندت بمونه و با اون شماره سند ، یکسری جدید بزنی که از لحاظ منطقی اصلا درست نیست ، چرا که سند سازی و جعل و ... پیش میاد) و بعد به کاربر اجازه بده که مقادیر جدید وارد کنه.

    2-یک گزینه ابطال سند بذار که سند با محتویاتش بمونه ولی قابل استفاده نباشه و اون سند باطل شده باشه ( حالا میتونی رنگ رکوردو عوض کنی ، بولدش کنی و یا ...)

  15. کاربر مقابل از javad_rajabloo عزیز به خاطر این پست مفید تشکر کرده است:

    meyti (24 / February / 2015)

  16. #10
    مدیر انجمن b_e_shamlu آواتار ها
    تاریخ عضویت
    July 2013
    محل سکونت
    کرج
    سن
    56
    نوشته ها
    123
    تشکر ها
    149
    تشکر شده 94 بار در 46 ارسال.

    پاسخ : ویرایش جدول

    اول خدمت شما عرض کنم همانطوری که دوست عزیزمان گفتن حذف سند عملا اشتباه و طبق قانون حسابداری خلاف میباشد .
    برای این منظور خدمت شما عرض کنم که شما باید قبل از هرکاری برنامه را طوری طراحی کنید که سندها به دو صورت باشد، اول پیش نویس سند و دوم سند قطعی ...
    و فقط سندهای پیش نویس قابلیت اصلاح و یا حذف و اضافه داشته باشند و وقتی قطعی شد دیگر اجازه هیچ کاری به آنها ندهی .
    و اما برای اصلاح خدمت شما عرض کنم، سوال شود که میخواهد سند یا ریز سند ، اصلاح یا حذف شود که اگر سند و در این کار به کاربر اختیار بیشتری داده میشود که اگر سند اصلاح شد به دو حالت آیا ریز سند هم اصلاح میشود درصورت جواب دادن بله کلیه ریز سند ها را پاک کن و اگر خیر ریز سند دست نخورد و در خصوص اصلاح ریز سند به برنامه را طور طراحی که مثلا اگر فلان قسمت خالی شد آن رکورد را حذف کند تمام .
    حال شخص میتواند فقط با پاک کردن فلان قسمت مثلا اگر مبلغ بدهکار و بستانکار هردوخالی بود رکورد حذف شود.
    البته میبخشید که زیادی دخالت میکنم .
    دلفی کاران را دوست دارم [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]

    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]



  17. 2 کاربر مقابل از b_e_shamlu عزیز به خاطر این پست مفید تشکر کرده اند .

    admin (27 / February / 2015),meyti (26 / February / 2015)

  18. #11
    مدیر انجمن meyti آواتار ها
    تاریخ عضویت
    August 2013
    نوشته ها
    143
    تشکر ها
    134
    تشکر شده 78 بار در 55 ارسال.

    پاسخ : ویرایش جدول

    نقل قول نوشته اصلی توسط b_e_shamlu نمایش پست ها
    اول خدمت شما عرض کنم همانطوری که دوست عزیزمان گفتن حذف سند عملا اشتباه و طبق قانون حسابداری خلاف میباشد .
    برای این منظور خدمت شما عرض کنم که شما باید قبل از هرکاری برنامه را طور طراحی کنی که سندها به دو صورت باشد اول پیش نویس سند و دوم سند قطعی
    و فقط سندهای پیش نویس قابلیت اصلاح و یا حذف و اضافه داشته باشند و وقتی قطعی شد دیگر اجازه هیچ کاری به آنها ندهی .
    با تشکر از دوست گرامی ، بله همینطور است که میفرمایید ، اگه به عکس توجه بفرمایید آخرین فیلد دائمی بودن رکورد رو چک میکنه که اگه قطعی باشه دیگه اجازه ویرایش داده نمیشه .

    ممنونم از راهنمایی خوب همه دوستان

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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