PDA

View Full Version : مبتدی: بدست آوردن نام کاربری



piter11
پنج شنبه 13 آذر 1393, 16:44 عصر
سلام چطور میشه تو ویندوز اپیلیکشن وقتی کاربر لاگین میکنه در فرم یعدی مشخصاتشو سلکت کنی بر اساس نام کابریش یا بر اساس آی دیش میخوام وقتی لاگین کرد وارد فرم اصلی شد کل مشخصات ثبت نامیش نمایش داده شه باسپاس

parvizwpf
پنج شنبه 13 آذر 1393, 16:51 عصر
خب شما دیتا رو که بر حسب نام و پسورد گرفتید همون جا همه دیتاشو بیارید و تو هر فرم دیگه ای خواستید پاس بدید. الان کجاش مشکل دارید دقیقا؟

piter11
پنج شنبه 13 آذر 1393, 19:31 عصر
خب شما دیتا رو که بر حسب نام و پسورد گرفتید همون جا همه دیتاشو بیارید و تو هر فرم دیگه ای خواستید پاس بدید. الان کجاش مشکل دارید دقیقا؟

خوب همین دیگه من نام کاربری افراد ثبت نامی نمیدونم که بر اساس نام کاربری اصلاعاتشونو نشون بدم
select * frome tbl where
?=
اینی که میگید پاس میدید میشه بیشتر توضیح بدید

bazikadeh
پنج شنبه 13 آذر 1393, 19:46 عصر
با لینک به سادگی میشه ... ؟ بستگی داره چه چیزیشو بخوای ؟

piter11
پنج شنبه 13 آذر 1393, 19:50 عصر
با لینک به سادگی میشه ... ؟ بستگی داره چه چیزیشو بخوای ؟

لینک؟ من میخوام کاربر ثبت نامی بعد از وارد کردم نام کاربری و پسوردش در فرم بعدی که نمایش داده میشه اطلاعات رکودش بیاد بالا
مثلا نام کاربریش شماره تلفنش ..........

bazikadeh
پنج شنبه 13 آذر 1393, 20:07 عصر
عزیزم بانکت چیه ؟

piter11
پنج شنبه 13 آذر 1393, 21:15 عصر
sql server

bazikadeh
پنج شنبه 13 آذر 1393, 22:20 عصر
با ado یا linq کار میکنی و اشنایی داری ؟

piter11
پنج شنبه 13 آذر 1393, 22:59 عصر
با ado یا linq کار میکنی و اشنایی داری ؟

ado.net آشنایی دارم

reza9025
پنج شنبه 13 آذر 1393, 23:44 عصر
فکر کنم مشکل شما پاس دادن نام کاربری از فرم Login به فرم اصلی هست درسته؟

اگه بله:

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



class User
{
private static string _UserName;
public string UserName
{
get
{
return _UserName;
}
set
{
_UserName = value.ToString();
}
}

}



خب حالا در فرم لاگین یک نوع از آن بساز


User U= new User();

بعدشم که کاربر بر روی دکمه ی ورود کلیک کرد اگه مشخصات درست بود U.UserName را برابر مقدار نام کاربری قرار بده. حالا در هر فرمی از برنامه به نام کاربری وارد شده دسترسی داری.

کد sql به صورت زیر



"select * frome tbl where UserName="+U.UserName.ToString();

piter11
جمعه 14 آذر 1393, 16:22 عصر
من این کارارو کردم ولی نمی دونم چرا مقدار null نشون میده داخل لیبلlabel1.text
فکر کنم یه اشتباهی کردم ببین من یه کلاس به اسم name ایجاد کردم username هم به اسم name تغییر دادم (اسم داخل فیلد دیتابیسم name) بعد اومدم داخل دکمه فرم لاگین این کدارو نوشتم

class1 u = new class1();
SqlConnection con = new SqlConnection();
con.ConnectionString = WindowsFormsApplication1.Properties.Settings.Defau lt.con;
SqlCommand com = new SqlCommand();
com.Connection = con;

com.CommandText = "select name from onetbl Where name='" + textBox1.Text + "'";
u.name = textBox1.Text;
con.Open();
SqlDataReader dr = com.ExecuteReader();

if (dr.HasRows == true)
{

dr.Read();

Form2 fm2 = new Form2();
this.Hide();
fm2.ShowDialog();
dr.Dispose();
con.Close();


}

}

داخل فرم بعدی هم که با بعد از لاگین شدن اینو زدم در رویداد لود فرم میخوام نام کاربریش داخل لیبل نمایش داده شه

class1 u = new class1();
SqlConnection con = new SqlConnection();
con.ConnectionString = WindowsFormsApplication1.Properties.Settings.Defau lt.con;
SqlCommand com = new SqlCommand();
com.Connection = con;

com.CommandText = "select name from onetbl Where name='" + u.name + "'";

con.Open();
SqlDataReader dr = com.ExecuteReader();
if (dr.HasRows == true)
{
dr.Read();
label1.Text = u.name;

}

reza9025
جمعه 14 آذر 1393, 18:35 عصر
عزیز شرمنده اشتباه از من بود. متغیر _UserName رو باید از نوع static در نظر می گرفتید.:خجالت:


کد به صورت زیر:



class User
{
private static string _UserName;

public string UserName

{
get
{
return _UserName;
}
set
{
_UserName = value.ToString();
}
}

}

reza9025
جمعه 14 آذر 1393, 18:42 عصر
من این کارارو کردم ولی نمی دونم چرا مقدار null نشون میده داخل لیبلlabel1.text
فکر کنم یه اشتباهی کردم ببین من یه کلاس به اسم name ایجاد کردم username هم به اسم name تغییر دادم (اسم داخل فیلد دیتابیسم name) بعد اومدم داخل دکمه فرم لاگین این کدارو نوشتم

class1 u = new class1();
SqlConnection con = new SqlConnection();
con.ConnectionString = WindowsFormsApplication1.Properties.Settings.Defau lt.con;
SqlCommand com = new SqlCommand();
com.Connection = con;

com.CommandText = "select name from onetbl Where name='" + textBox1.Text + "'";
u.name = textBox1.Text;
con.Open();
SqlDataReader dr = com.ExecuteReader();

if (dr.HasRows == true)
{

dr.Read();

Form2 fm2 = new Form2();
this.Hide();
fm2.ShowDialog();
dr.Dispose();
con.Close();


}

}

داخل فرم بعدی هم که با بعد از لاگین شدن اینو زدم در رویداد لود فرم میخوام نام کاربریش داخل لیبل نمایش داده شه

class1 u = new class1();
SqlConnection con = new SqlConnection();
con.ConnectionString = WindowsFormsApplication1.Properties.Settings.Defau lt.con;
SqlCommand com = new SqlCommand();
com.Connection = con;

com.CommandText = "select name from onetbl Where name='" + u.name + "'";

con.Open();
SqlDataReader dr = com.ExecuteReader();
if (dr.HasRows == true)
{
dr.Read();
label1.Text = u.name;

}

کد صفحه ی Login را به صورت زیر تغییر بده.


class1 u = new class1();
SqlConnection con = new SqlConnection();
con.ConnectionString = WindowsFormsApplication1.Properties.Settings.Defau lt.con;
SqlCommand com = new SqlCommand();
com.Connection = con;

com.CommandText = "select name from onetbl Where name='" + textBox1.Text + "'";


con.Open();
SqlDataReader dr = com.ExecuteReader();

if (dr.HasRows == true)
{

u.name = textBox1.Text;

dr.Read();

Form2 fm2 = new Form2();
this.Hide();
fm2.ShowDialog();
dr.Dispose();
con.Close();


}

}