PDA

View Full Version : مشکل ثبت نام با نام کاربری تکراری



ghaam91
پنج شنبه 29 مهر 1395, 23:42 عصر
سلام
داخل دکمه ثبت نام کدهای زیر رو نوشتم.ثبت نام انجام میگیره ولی شرط اینکه نام کاربری ثبت شده داخل دیتابیس رو بخونه و اگه قبلا ثبت نام شده باشه پیغام بده که تکراریه بلد نیستم ممنون میشم کمکم کنین
143094
اینم صفحه ثبت نامم
143095

شرلوک هلمز
جمعه 30 مهر 1395, 01:53 صبح
اول یه query بزن داخل دیتابیس اگر اون نام نبود insert را انجام بده . میتونی داخل دیتابیس هم فیلد نام را index گذاری کنی تا یکتا باشه. اگر توضیح بیشتر خواستی بگو تا با linq یا ado برات مثال بزارم . در linq میتونی از تابع any استفاده کنی

ghaam91
جمعه 30 مهر 1395, 02:03 صبح
سلام
این جدول یوزر منه
143103
من اینجوری مثلا query زدم که بیام توی کدام شرط بزارم که آیا همچین کاربری ثبت شده یا نه ولی راستش کدشو بلد نیستم:ناراحت:
143104

milad.biroonvand
جمعه 30 مهر 1395, 08:57 صبح
کد sql اون بصورت زیر میشه.
selecy * from users where user= @user and pass=@pass
برای اینکه قبل از پست بک صفحه اینکار انجام بشه اونها را در داخل یک custom_validator بزار.

ghaam91
جمعه 30 مهر 1395, 11:50 صبح
کد sql اون بصورت زیر میشه.
selecy * from users where user= @user and pass=@pass
برای اینکه قبل از پست بک صفحه اینکار انجام بشه اونها را در داخل یک custom_validator بزار.

سلام
این دستوری که شما میگین من برای ورود انجام داده بودم
143109
الان میخوام فقط موقع ثبت نام ی فیلد از توی دیتابیس چک بشه که در صورت تکراری نبودن ثبت انجام بگیره..:گریه:کد نویسی این شرط بلد نیستم:ناراحت:

ghaam91
جمعه 30 مهر 1395, 13:49 عصر
کسی نمیدونه چجوریه؟؟؟:گریه:

kamranetemadi
جمعه 30 مهر 1395, 13:52 عصر
سلام
این دستوری که شما میگین من برای ورود انجام داده بودم
143109
الان میخوام فقط موقع ثبت نام ی فیلد از توی دیتابیس چک بشه که در صورت تکراری نبودن ثبت انجام بگیره..:گریه:کد نویسی این شرط بلد نیستم:ناراحت:

اینطوری

if not exists (select * from tUser where fUserName = @fUserName)
begin
insert into tUser ...

ghaam91
جمعه 30 مهر 1395, 14:58 عصر
اینطوری

if not exists (select * from tUser where fUserName = @fUserName)
begin
insert into tUser ...


سلام
این کد شما رو توی دستورات دکمه ثبت بعد از اینکه چک کرد تکس باکسها خالی نیستن باید بنویسم؟؟

mortezagt
جمعه 30 مهر 1395, 15:34 عصر
بله ئ

ghaam91
جمعه 30 مهر 1395, 16:00 عصر
بله ئ

همین دستور رو که مینویسم خطا میده که:گریه:
وای خدا قاطی کردم کلااااااااااااااا

ghaam91
جمعه 30 مهر 1395, 18:42 عصر
این کد نوشتم درست شد.

var dt = new DstUsers.tUsersDataTable();
sda.FillByUserName(dt, UserName.Text);

if (dt.Rows.Count > 0)
{
lblErr.Text = "نام کاربری تکراری هست لطفا یک نام کاربری دیگری را امتحان کنید.";
}

شرلوک هلمز
یک شنبه 02 آبان 1395, 16:13 عصر
شما از دیتاست و متدهای اماده داری استفاده میکنی برنامه نویسی به این صورت شما را با مشکلات فراوانی روبرو میکند.
باید مستقیما از دستورات sql استفاده کنی
دستوری که شما نوشتی کار میکند اما گرداندن لقمه بالای سر است. در مورد اتصال با دیتابیس بدون استفاده از دیتاست کمی تحقیق کن . موضوعی نیست که در چند کلمه بشه گفت. اگر هم که نمی خوای برنامه نویس بشی که همین که نوشتی کار میکنه

taze kar 1
سه شنبه 04 آبان 1395, 18:41 عصر
یه دستور ساده دارم اما زیاد استاندارد نیست:لبخند: