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

نام تاپیک: چرا این شرط true برمی گردونه؟

  1. #1
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    پست
    160

    چرا این شرط true برمی گردونه؟

    عرض ادب
    برای اینکه از جذف اعضاء در برنامه توسط افراد غیر مدیر جلوگیری کنم، تو لود فرم حذف کاربر این کد رو نوشتم:
    private void frmUserDelete_Load(object sender, EventArgs e)
    {
    User user = new User();
    user.Id = Form1.currentUser;
    user.GetOne();
    if (user.category.Trim() != "مدیر ")
    {
    MessageBox.Show("!شما به این قسمت دسترسی ندارید", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Stop);
    this.Close();
    }
    }

    با اینکه user.category باز هم مدیر برمیگردونه، اما شرط true میشه !!!

  2. #2
    کاربر دائمی آواتار mhsmity
    تاریخ عضویت
    مهر 1387
    محل زندگی
    استان يزد
    سن
    36
    پست
    671

    نقل قول: چر این شرط true برمی گردونه؟

    "مدیر  ".Trim()

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    پست
    160

    نقل قول: چر این شرط true برمی گردونه؟

    نقل قول نوشته شده توسط mhsmity مشاهده تاپیک
    "مدیر  ".Trim()
    نه به این خاطر نود، خودم این فاصله رو گذاشتم که مثل اونی بشه که تو بانکه ولی بازم نشد.

  4. #4

    نقل قول: چرا این شرط true برمی گردونه؟

    نوع ستون رو از نوع varchar انتخاب (تا spaceها رو پاک کنی) و مقادیر رو انگلیسی ذخیره کنید. در اینصورت به جای 'مدیر' از admin استفاده میکنی.
    اما بهتره:
    در این چنین مواقعی بایست از یک جدول برای نگهداری انواع کاربر و سطح دسترسی استفاده کنی و از آیدی اون در جدول user به عنوان کلیدخارجی استفاده کنی.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    پست
    160

    نقل قول: چرا این شرط true برمی گردونه؟

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    نوع ستون رو از نوع varchar انتخاب (تا spaceها رو پاک کنی) و مقادیر رو انگلیسی ذخیره کنید. در اینصورت به جای 'مدیر' از admin استفاده میکنی.
    .
    خیلی سپاس گزارم،اما یعنی دیگه نمیتونم فارسی اسمی برای مدیریت ذخیره کنم؟

  6. #6
    کاربر دائمی آواتار abbas.oveissi
    تاریخ عضویت
    دی 1389
    محل زندگی
    تهران
    پست
    578

    نقل قول: چرا این شرط true برمی گردونه؟

    نقل قول نوشته شده توسط ghazal_mohammady مشاهده تاپیک
    خیلی سپاس گزارم،اما یعنی دیگه نمیتونم فارسی اسمی برای مدیریت ذخیره کنم؟
    یک راه حلش بعضی وفتا یک فیلد اضافه کنید مثلا NickName تا بتونید از اون برای نمایش فارسی استفاده کنید.برای شرط ها از فیلد اصلی که انگلیسی هست استفاده کنید.

  7. #7
    کاربر دائمی آواتار mhsmity
    تاریخ عضویت
    مهر 1387
    محل زندگی
    استان يزد
    سن
    36
    پست
    671

    نقل قول: چر این شرط true برمی گردونه؟

    نقل قول نوشته شده توسط ghazal_mohammady مشاهده تاپیک
    نه به این خاطر نود، خودم این فاصله رو گذاشتم که مثل اونی بشه که تو بانکه ولی بازم نشد.
    سلام امکان نداره چون شما این جا از تریم استفاده کردی
    user.category.Trim()
    کلمه مدیر شما نباید اخرش فاصله وجود داشته باشه .

    اما در باره نوع داده :
    بهتره که نوع داده خود رو nvarchar بزرای ولی فکر نکنم مشکل خاصی هم با varchar داشته باشی ولی موقه ذخیره داده حواست باشه که این طوری ذخیره کنی

    'مقدار فارسی'N

    حواست باشه N بزرگ سمت چپ دو علامت '' باشه و مقدار فارسی هم داخلش
    'مدیر'UserName=N
    '"+TxtName.text+"'UserName=N


    تازه یه Breck POint بزار روی If با موس روی متغیر user.category نگه دار بین چی داخل این متغییر وجود داره ؟

    شاید اصلا این متغییر جای مقدار دهی نشده باشه
    شاید اصلا چیزی که مد نظزت هست داخل این متغییر نباشه

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

    ان نکته رو هم بگم که برای جدول نام های کاربری اصلا لازم نیست که id تعریف کنی با همون نام کاربری موتونی کار ایدی رو هم انجام بدی یعنی نام کاربری رو کلید اصلی کن و اجازه هم نده که این فیلد خالی یا همون نال باشه.
    حله
    آخرین ویرایش به وسیله mhsmity : سه شنبه 07 مرداد 1393 در 16:09 عصر

  8. #8

    نقل قول: چرا این شرط true برمی گردونه؟

    C#‎‎‎ گاهی اوقات با کاراکتر های فارسی به مشکل بر می خوره. یه بار کد رو اینجوری تست کنید شاید جواب داد
    user.category.Trim().equal("مدیر")

تاپیک های مشابه

  1. پاسخ: 5
    آخرین پست: یک شنبه 24 فروردین 1393, 16:52 عصر
  2. سوال: چرا این حلقه شرط نداره ؟
    نوشته شده توسط mehrdad1991h در بخش C#‎‎
    پاسخ: 11
    آخرین پست: یک شنبه 08 اردیبهشت 1392, 09:27 صبح
  3. پاسخ: 8
    آخرین پست: شنبه 11 شهریور 1391, 18:16 عصر
  4. حرفه ای: چرا این شرط همواره غلط در می یاد؟
    نوشته شده توسط idocsidocs در بخش PHP
    پاسخ: 8
    آخرین پست: پنج شنبه 04 اسفند 1390, 19:26 عصر
  5. کسی میدونه چرا این اررور میاد Either BOF or EOF is True
    نوشته شده توسط _behnam_ در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 1
    آخرین پست: یک شنبه 28 آذر 1389, 22:18 عصر

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

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