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

نام تاپیک: خطا در هنگام به روز رسانی علت چیه؟

  1. #1

    خطا در هنگام به روز رسانی علت چیه؟

    سلام دوستان گرامی

    این برنامه قبلاً که نوشته بودم (با 2003) کار می کرد و خطا نمی داد.

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

    می شه عکس رو نگاه کنید و بنده را راهنمایی؟

    با احترام- خدانگهدار
    آخرین ویرایش به وسیله روح اله معینی زاده : شنبه 09 اردیبهشت 1385 در 05:51 صبح

  2. #2
    کاربر دائمی آواتار habedijoo
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    538
    ببین یک بار تمام کد برنامتو یه نگاه بنداز . چون توی دات نت 2005 از ADO.NET 2 استفاده شده یه سری تغییرات Syntax ی بوجود اومده .
    ببین اگر خطی هست که زیرش خط کشیده شده ، باید اونو اصلاح کنی . که در اکثر اوقات هم Help همونجا به کمکت می یاد .
    یه نگاه بنداز و خبر بده .

  3. #3
    سلام
    نه عزیز، هیچ خطی که شما می گید و منظورتون احتمالا آن خط‌های سبز رنگ زیگزاگ است، وجود نداره یا بهتر بگم توی اون Sub که هیچی نداره و من هم کل کارم رو توی همون Sub انجام می دم.
    بازم منتظرم
    با تشکر و خدانگهدار.

  4. #4
    کاربر دائمی آواتار habedijoo
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    538
    سلام
    کدت رو خط به خط Trace کن . اونجایی رو که خطا میده پیدا کن . حداقل یه کدی چیزی بزار تا دوستان هم ببینند شاید مشکلت حل شود .

  5. #5

    Cool

    سلام دوستان گرامی
    این هم کد

    connection_maker(DBs.ChipUpdater, act.Open)
    Cmd_Chip_Update.CommandText =
    "UPDATE persons SET hausing_type=2, student_hause_id=" & _
    dormitory_id &
    ", block_no =" & block_id & ", room_no=" & room_id & " WHERE " & _
    "person_id='" & st_no & "'"
    Try
    Cmd_Chip_Update.ExecuteNonQuery()

    در خط اول ارتباط با بانک برقرار شده و سپس بانک باز می شود (act.Open). {بدون خطا}
    در خط دوم رشته به روز رسانی تهیه می شود. {بدون خطا}
    در خط سوم به Try می رسیم {بدون خطا}
    در خط چهارم رشته به روز رسانی باید اجرا شود که به خطا بر می خوریم.

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

    با احترام- خدانگهدار

  6. #6
    در ورژن 2005 شما باید رشته اسکیو ال سرور رو با رایت کلیک کردن بر روی دیتا ست و اضافه کردن یک کوئری به آن انجام بدین
    پیچیده ترین و پر پارامتر ترین دستورات رو براحتی میتونین در اونجا انجام بدین و براحتی پارامتر رو به دستور خود ارسال کنید
    و اگر دیتا ست شما با کد ایجاد شده باید از شیوه کد نویسی ورژن 2003 استفاده کنید

  7. #7
    سلام
    ها ای که نوشتی (sh جان) یعنی چه؟

    من دیتاست رو با کد ایجاد کرده ام.
    همان‌طور که گفتم این کار رو بنده در 2003 بدون مشکل انجام می دادم و برنامه‌ام داشت کار می کرد.
    منظور شما از این که گفتید «از شیوه کد نویسی 2003 استفاده کنید» چیست؟
    با ذکر نمونه در 2005 بهتره.
    بنده این کار را با اضافه کردن دستور در DataAdapter هم انجام داده ام (قسمت UpdateCommand)، اما وقتی نمی خواد حال بده این‌جوری می شه و دقیقاً همون خطای عکس بالا رو می ده.
    در ضمن منظور از اضافه کردن دستور در دیتاست!!! رو هم بگید چیه، چون معمولاً من در DataAdapter دستورات رو اضافه می کردم و یا همین Command که بعد می شه اون رو به صورت مجزا اجرا کرد و برای این جور موارد که من فقط ارتباط با بانک برقرار می کنم و بعد Command رو اجرا کرده و مجدد ارتباط رو قطع می کنم، بسیار مناسب است.
    پس سرتون رو به درد نیارم.
    این دو مورد رو توضیح بدید که اگه با مثال 2005 باشه خیلی بهتره.
    1- شیوه کد نویسی 2003 !!!؟
    2- اضافه کردن در دیتاست !!!؟
    با احترام- خدانگهدار.

  8. #8
    یک دیتا ست رو فرم بگذار بعد روی اون راست کلیک کن و کوئری دلخواه رو بهش اضافه کن این کوئری بوصرت خودکار به TableAdapter شما اضافه میشه

  9. #9
    سلام
    یعنی هیچ کس به این روش کار نکرده؟
    در ضمن بانک اطلاعاتی Interbase است.
    با احترام- خدانگهدار

  10. #10
    سلام
    هورا، بالاخره مشکل حل شد.

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

    1- درایور ارتباط با بانک رو پاک و دوباره نصب کردم: مشکل به جای خود باقیست.
    2- درایور جدید دانلود و نصب کردم: !!!!!!! مشکل حل شد.

    با احترام- خدانگهدار
    آخرین ویرایش به وسیله روح اله معینی زاده : یک شنبه 09 بهمن 1384 در 07:36 صبح

  11. #11
    کاربر دائمی آواتار habedijoo
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    538
    یک کم بیشتر توضیح میدی چی شد .
    با تشکر

  12. #12

    Talking ادامه

    سلام خدمت دوستان گرامی

    پس از این که دیدم ظاهراً کسی از بچه‌ها به این روش کار نکرده، خودم رفتم دنبالش.

    پس از یه جست و جو که روی google زدم و دیدم که چند نفر دیگه از محیط‌های برنامه‌نویسی دیگه هم به این مشکل برخورده‌اند یه جورایی متقاعد شدم که VB.NET 2005 نمی تونه مساله ساز باشه.

    نمی دونم با Interbase کار کردید یا نه، ولی با VB نمی شه مستقیم بهش وصل شد (مانند Access و ...). بنابراین شما نیاز دارید از یک ODBC برای این کار استفاده کنید. من هم از GM که مخفف Gemini .... می باشد استفاده می کردم با VB.NET 2003 و سیستم هم به خوبی جواب می داد.

    به علت این که هارد سیستمم رو عوض کردم گفتم بذار VB.NET 2005 نصب کنم. این کار رو انجام دادم و GM رو هم نصب کردم. چون من اطلاعات رو از بانک MySql می گیرم و در Interbase به روز رسانی می کنم و از طرفی بانک MySql مربوط به مرکز رایانه‌ی ما می باشد و آن‌ها هم دسترسی من رو به سرور اصلی به طور موقت از بین برده بودند، من مجبور شدم که دسترسی رو روی سرور موقت برقرار کنم. برای این مورد مجبور شدم یه تغییراتی رو توی منبع برنامه بدم و دوباره آن را بسازم. پس از این عملیات دیدم که در دریافت اطلاعات از MySql به مشکلی بر نمی خورم ولی در به روز رسانی در Interbase به خطا می خوره. از طرفی این برنامه با 2003 داشت راحت کار می کرد. هم‌چنین این تغییراتی که در برنامه با 2005 دادم اصلاً ربطی به هیچ قسمت در ارتباط با MySql و Interbase نداشت. برای همین گفتم شاید اشکال از GM باشه (با توجه به جست و جوی ذکر شده در بالا).
    اون رو حذف و نصب کردم و دیدم که مشکلی بر جای خود باقیست.
    گفتم بذار نسخه جدیدی از اینترنت بگیرم و اگه درست نشد برگردم به همون 2003 و 2005 رو بی خیال شم. پس از یه جست و جو و دریافت نسخه جدید و نصب آن، بدون این که در برنامه تغییری بدهم، آن را اجرا کردم و با کمال تعجب دیدم که داره کار می کنه و بدون خطا برنامه به اتمام می رسه.
    منم کفم برید و سریع اومدم و خبر رو نوشتم که اگه کسی با این روش کار می کنه و دچار مشکل شده، روش حل مشکلش رو بدونه.

    ببخشید که زیاد نوشتم و سر شما رو به درد آوردم.

    با احترام- مخلص همه بر و بچ- خدانگهدار

  13. #13
    کاربر دائمی آواتار habedijoo
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    538
    آقا دستت درد نکنه . ممنون

  14. #14
    مرسی ممنون

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

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