PDA

View Full Version : سوال: مشکل در نام کاربری



a_123123123123
شنبه 07 خرداد 1390, 18:49 عصر
سلام.من میخوام وقتی کاربر میخواد ثبت نام کنه یه نام کاربری رو وارد کنه که تو بانک نباشه و اگه هم اسم تکراری بده با یه پیغام تو قسمت validation sumery نشان بده.باید چیکار کنم؟
میدونم باید بعد از وارد کردن نام توسط کاربر تو بانک جستجو کنه ولی کدی که استفاده میکنم همش پیغام خطا میده چه نام کاربری درست باشه چه نباشه؟
شما نمیدونید من باید از چه کدی استفاده کنم؟

jaykob
شنبه 07 خرداد 1390, 19:00 عصر
سلام دوست عزیز

از کد زیر می تونید استفاده کنید :


private void UserCheak()
{
string ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
var ctx = new MyLINQDataContext(ConnectionString);
var quary = (from a in ctx.table_users
where
a.user_name == txtUserName.Text
select a).SingleOrDefault();
if (quary == null)
{
lblUserResult.ForeColor = Color.Green;
lblUserResult.Text = "نام کاربری مورد قبول است";
}
else
{
lblUserResult.ForeColor = Color.Red;
lblUserResult.Text = "نام کاربری تکراری است";

}
}

a_123123123123
شنبه 07 خرداد 1390, 19:04 عصر
میشه یکم توضیح بدید؟

zahraf
شنبه 07 خرداد 1390, 19:26 عصر
دوست عزيزم
من خودم خيلي مبتديم ببخشيد كه دارم پاسخ ميدم اما فكر كنم شما بايد يه كدي شبيه اين بنويسيد:

SqlConnection cn = new SqlConnection("connectionstring");
cn.Open();
SqlCommand DC = new SqlCommand();
DataSet DS = new DataSet();
DC.CommandText = "select * from users where ID="+textbox_of_ozviat;
DC.Connection = cn;
DC.ExecuteNonQuery();
DR = DC.ExecuteReader();

if (DR.Read())
{
labelMessage.text="اين نام كاربري تكراري است";
}
else
{
labelMessage.text="اين نام كاربري معتبر است";
}

البته دوست قبلي هم فكر كنم همينكارو كرده ولي با linq نوشته. البته فكر كنم

a_123123123123
شنبه 07 خرداد 1390, 19:39 عصر
عکس پایین برنامه منه که همش خطا میده.ممکنه بگید کجاش ایراد داره؟

karim orooji
شنبه 07 خرداد 1390, 20:29 عصر
دوست عزیز دقت کن
جناب jaykob (http://barnamenevis.org/member.php?133240-jaykob) در کدی که گذاشتند چیه طبق اون عمل کن

a_123123123123
شنبه 07 خرداد 1390, 20:55 عصر
کدش برام واضح نیست.
کد خودم چه مشکلی داره که اجرا نمیشه؟

a_123123123123
شنبه 07 خرداد 1390, 21:16 عصر
کسی نیست جواب بده؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟

jaykob
یک شنبه 08 خرداد 1390, 09:28 صبح
سلام دوست عزیز

از کد زیر می تونید استفاده کنید :


private void UserCheak()
{
string ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
var ctx = new MyLINQDataContext(ConnectionString);
var quary = (from a in ctx.table_users
where
a.user_name == txtUserName.Text
select a).SingleOrDefault();
if (quary == null)
{
lblUserResult.ForeColor = Color.Green;
lblUserResult.Text = "نام کاربری مورد قبول است";
}
else
{
lblUserResult.ForeColor = Color.Red;
lblUserResult.Text = "نام کاربری تکراری است";

}
}




این کد با استفاده از LINQ هستش اول ما یک کلاس LINQ to SQL ساختیم و سپس جدول کاربران را اضافه کردیم . و در بالا یک رشته connection string ساختیم برای ارتباط با دیتابیس که نامش بر طبق رشته خودتون باید باشد . و سپس یک کوئری زدیم که اگر با شرط مطابقت داشت که کوئری پر می شه در شرط پایین گفته . شده اگر null بود که خوب یعنی چنین نام کاربری نیست و اگر پر شد یعنی چنین مقداری وجود دارد پس نام کاربری تکراری هست

موفق باشید

amirzandi
یک شنبه 08 خرداد 1390, 10:05 صبح
در قسمتی که دارین به دیتابیس اینزرت می کنید ، کامند اشتباه هست. INSERT INTO باید باشد.

a_123123123123
یک شنبه 08 خرداد 1390, 10:11 صبح
میشه بگید برنامه خودم چه اشکالی داره.

وقتی میخواد عملیات درج رو انجام بده این پیغام خطا رو میده
من هم برنامه و هم خطاشو میذارم

karim orooji
یک شنبه 08 خرداد 1390, 10:50 صبح
دوست عزیز
من به شما گفتم خط else و چهار خط دیگه رو بردار(پاک کن)

a_123123123123
یک شنبه 08 خرداد 1390, 12:43 عصر
خوب بعدش چیکار کنم؟

a_123123123123
یک شنبه 08 خرداد 1390, 21:25 عصر
اینم برنامه

a_123123123123
دوشنبه 09 خرداد 1390, 10:57 صبح
سلام.اینجا گذاشتم

b_savad
دوشنبه 09 خرداد 1390, 12:14 عصر
سلام آقا کد شما دو تا ایراد داره
یکی که دوستمون گفتن INSERT INTO باید بنویسی
اگه نوع فیلد nk اگر nvarchar باشه باید دستور select رو اینجوری بنویسی:

Select nk from karamoz where nk=N'" & tt & "'"

dontspeak
دوشنبه 09 خرداد 1390, 13:49 عصر
این ارور بالا که عکسش رو گزاشتی داره میگه datareader رو باز گذاشتی close بکن

a_123123123123
سه شنبه 10 خرداد 1390, 15:22 عصر
اینجاست

نگاه کن