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

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




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 20

نام تاپيک: مشکل Update,Insert در ویستا

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

    پيش فرض مشکل Update,Insert در ویستا

    در هنگام استفاده از دستور Update,Insert در ویستا اجازه نمیده و پیغام میده که شما چون از Updateable Query استفاده کرده اید نمی توانید عملیات را ادامه دهید ولی در ویندوز XP بدون مشکل عملیات انجام میشود

    لطفا هر نظری دارید ممنون میشم بنویسید


    با تشکر

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

    پيش فرض

    سلام
    گمان نکنم مشکل از ویستا باشد.
    دیتابیستان چیست؟
    مطمئن هستید فایل دیتابیس ReadOnly نیست؟ یا قیدی در ConnectionString اضافه نکرده اید؟

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

    پيش فرض

    نه اصلا Readonly نیست و فقط تو ویستا دچار مشکل می شه در حالی که در ویندوز XP هیچ مشکلی نداره حتی چند برنامه بانک اطلاعاتی دیگه هم این مشکل رو تو ویستا دارن ولی تو Xp نه

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

    پيش فرض

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

    موفق باشید.

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

    پيش فرض سلام با تشکر از توجه شما

    بانک اطلاعاتی اکسس هستش و شبکه هم نیست و نسخه ویستا Home Basic هستش

    به عنوان نمونه نمونه از کد ذخیره پرداخت که اشکال می گیره
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

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

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

    پيش فرض

    سلام
    این کد شما در صورتی درست جواب میدهد که تمام مقادیر فیلدهای جدول عددی باشند!
    ضمن اینکه اگر تصحیحش هم کنید، باز میتواند برای کاراکترهای خاص به مشکل برخورد کند.
    شما حتماً باید از روش پارامتری استفاده کنید.
    اگر نوع تک تک فیلدها را ذکر کنید میتوانم کد مناسب پارامتری را برایتان بنویسم.
    موفق باشید.

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

    پيش فرض

    قبل از اجرای تابع تمام فیلدها بررسی میشن و کاراکتر غیر مجاز نمی تونه وارد تابع بشه و تابع به درستی کار میکنه در ضمن احتیاجی نیست تمام فیلدها عددی باشند چون فیلد کاراکتری با ' ' مشخص میشه مثل فیلد Discription .
    ولی مشکل من این نیست مشکل اینه که تو ویستا با اون پیغامی که گفتم روبرو میشم در حالی که تو ایکس پی همچین مشکلی وجود ندارد

    به هر حال مشخصات فیلدها رو براتون مینویسم به همون روشی که گفتید برام بنویسید اونم امتحان میکنم ببینم تو ویستا کار می کنه!
    idfactor=LongInteger
    cash=Currency
    chk=Currency
    lend=Currency
    discount=Currency
    discription=Text
    State=Byte
    IdsanadBox=Long

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

    پيش فرض

    سلام
    در ضمن احتیاجی نیست تمام فیلدها عددی باشند چون فیلد کاراکتری با ' ' مشخص میشه مثل فیلد Discription .
    بله درست است، من متوجه وجود تک کتیشن ها در متن فوق نشدم (تشخیصش کمی سخت بود و است!)

    =====

    ضمناً برای مقادیر پولی در برنامه های ایرانی با توجه فقدان اعشار در مبالغ پولی ایران، بهتر است در انواع سیستم ها از نمونه های Currency و Money استفاده نکنید به جای آنها میتوانید از مقادیر صحیح و بسیار پرسرعت و با گنجایش زیاد Int32 و Int64 در انواع بانک ها استفاده کنید.
    مقادیر Int32 تا حدود مثبت/منفی دو میلیارد ریال/تومان را میتوانند جای دهند.
    و مقادیر Int64 تا حدود مثبت/منفی 9,000,000,000,000,000,000 ریال/تومان را میتواند جای دهد که ضمن سرعت بیشتر (و بعضاً حجم مساوی یا کمتر)، حدود 1000 بار بزرگتر از گنجایش مرسوم Currency است.

    =====

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

    - cash و chke و... که متغییر هستند؟ و TextBox که نیستند؟
    - اگر با اجرای دستور فوق هر خطایی دریافت کردید، حتماً متن کامل خطا را اینجا بگذارید
    - اگر از نسخه 2008 استفاده نمیکنید به جای آن خط شامل If کد زیر را بنویسید
    (IIf(String.IsNullOrEmpty(TxtFac.Text), System.DBNull.Value, TxtFac.Text
    - میتوانید به جای دستورات CInt و CDec و... از توابع اصلی Parse هم استفاده کنید. (توصیه بازدهی بیشتر!!!)
    - انشا ا... جواب خواهد داد.

    موفق باشید.
    Last edited by _H2_; 23-12-2008 at 00:51.

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

    پيش فرض

    کدی جالبیه حتما امتحانش میکنم
    راستی Int32,Int64 معادل کدوم نوع داده در Access یا Sql هستند
    از دستورات Cint , Cdec استفاده میکنم ولی اگر ممکنه درباره استفاده از توابع Parse یکم توضیح بدید

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

    پيش فرض

    سلام
    راستی Int32,Int64 معادل کدوم نوع داده در Access یا Sql هستند
    معادل Int32 در access در واقع همان Long Integer است که در زمان طراحی داخل خود access نشان داده میشود.
    ولی معادل دقیق و کاملی برای یک متغییر صحیح 8 بایتی (Int64) در access وجود ندارد، شاید نزدیکترین معادل Decimal باشد.

    معادل Int32 در بانک اطلاعاتی قدرتمتد sqlserver نوع int است و معادل Int64 هم نوع bigint .

    در دات نت هم که هم نوع Int32 را داریم که در vb به ان integer هم گفته میشود و در #c هم به آن int گفته میشود.
    و نوع Int64 را هم داریم که در vb و #c به ان long هم گفته میشود.


    [quote]
    از دستورات Cint , Cdec استفاده میکنم ولی اگر ممکنه درباره استفاده از توابع Parse یکم توضیح بدید
    [/qoute]
    تابع Parse متدی عضو کلاسس است و ساختارهای اصلی که بتوانن از string تبدیل شود این متد را دارند.
    در اصل این متد String را به نوع مطلوب تبدیل میکند.

    مثلاً:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    با توجه به اینکه دستورات تبدیلی مثل CInt دستور و جزء کلمات رزو شده VB هستند، کامپایلر در شرایط خاص آن را به دستورات مختلفی کامپایل میکند.
    مثلاً سه CInt زیر به یک کد IL یکسان کامپایل نمیشوند!!!
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    با وجود تفاوت ظاهری سه کد آخری ولی چون CInt کلمه رزو شده است، کامپایلر شرایط را سنجیده و کد مناسب را جایگزین میکند و این خیلی خوب است و استفاده از CInt را توجیح پذیر و منطقی تر میکند.

    در واقع یک CInt با ورودی String خودش برای تبدیل از تابع Double.Parse استفاده میکند و بعد مقدار Double را به Integer تبدیل میکند!
    نتیجتاً استفاده از Integer.Parse میتواند بهتر باشد ضمن اینکه Integer.TryParse بدون هیچ خطایی، یک boolean پس میدهد که نشان دهنده موفقیت/عدم موفقیت تبدیل است .

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

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

User Tag List

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

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