PDA

View Full Version : تعیین سطح دسترسی>جلوگیری از ورود نام کاربری تکراری



dr_ghezavat
یک شنبه 25 مرداد 1388, 01:14 صبح
سلام و خسته نباشید خدمت دوستان و اساتید محترم . در مورد تعیین سطح دسترسی منابع زیادی در سایت هست ولی جزئیاتی مثل این مورد که چطور از ورود نام کاربری تکراری جلوگیری کنیم رو من نتونستم پیدا کنم .
در یه دیتابیس نام کاربری و کلمه عبور ها ذخیره میشه . در دکمه ی ثبت نام همراه کدهای اضافه کردن کاربر جدید چه شرطی باید بدم که در صورت موجود بودن نام کاربری به ما پیغام "نام کاربری وارد شده قبلا ثبت شده" نشون بده ؟

Nima NT
یک شنبه 25 مرداد 1388, 01:23 صبح
خوب میتونید اول نام کاربری وارد شده رو در پایگاه داده جستجو کنید.
اگر پایگاه داده رو مرتب هم کرده باشید , زیاد طول نمیکشه.

dr_ghezavat
یک شنبه 25 مرداد 1388, 01:28 صبح
یعنی از فیلتر استفاده کنم ؟

محمد سلیم آبادی
یک شنبه 25 مرداد 1388, 02:11 صبح
سلام.
برای اینگونه مسائل مشکل را باید در سطح داده ها برطرف کنید تا در سطح برنامه نویسی application.
اگر از بانک اطلاعاتی SQL Server استفاده می کنید من به شما پیشنهاد می کنم که با استفاده از یک SP و تابع EXISTS این کار را انجام دهید.

اگر تا به حالا از SP استفاده نکردید یا آشنا نیستید در تالار SQL یک تاپیک ایجاد کنید تا در آنجا به مشکل شما رسیدگی شود.

dr_ghezavat
یک شنبه 25 مرداد 1388, 02:21 صبح
من روشی که گفتید رو دارم بررسی میکنم ولی بازم منتظر نظرات بقیه دوستان هم هستم .اگر زود تر به نتیجه رسیدم اینجا مینویسمش.

Reza_Yarahmadi
یک شنبه 25 مرداد 1388, 12:00 عصر
نظر دوستان درسته ولی یه کار راحتتر هم میشه انجام داد! میشه نام کاربری رو به عنوان کلید اصلی قرار داد اینطوری خود بانک بررسی رو انجام میده. توی محیط کد نویسی هم کافیه از بلاکهای try - catch استفاده کنی.

dr_ghezavat
یک شنبه 25 مرداد 1388, 13:04 عصر
آقا رضا روشت خیلی به درد بخوره منتها آیا این راهکار اصولی برنامه نویسی میتونه باشه ؟ یعنی آیا همه جا همینکارو انجام میدن یا از روش آقای سلیم باید استفاده کنم ؟

dr_ghezavat
یک شنبه 25 مرداد 1388, 13:16 عصر
در هر صورت با روش کلید اصلی به سرعت تونستم مشکل رو حل کنم .تشکر از همه .

zigool_m
پنج شنبه 21 شهریور 1392, 14:51 عصر
سلام دوستان
می دونم پست برای چند سال پیش هستش.
چطوری می تونم از try - catch با فیلد کلید اصلی این روش رو انجام بدم؟