سلام چطور میشه تو ویندوز اپیلیکشن وقتی کاربر لاگین میکنه در فرم یعدی مشخصاتشو سلکت کنی بر اساس نام کابریش یا بر اساس آی دیش میخوام وقتی لاگین کرد وارد فرم اصلی شد کل مشخصات ثبت نامیش نمایش داده شه باسپاس
سلام چطور میشه تو ویندوز اپیلیکشن وقتی کاربر لاگین میکنه در فرم یعدی مشخصاتشو سلکت کنی بر اساس نام کابریش یا بر اساس آی دیش میخوام وقتی لاگین کرد وارد فرم اصلی شد کل مشخصات ثبت نامیش نمایش داده شه باسپاس
خب شما دیتا رو که بر حسب نام و پسورد گرفتید همون جا همه دیتاشو بیارید و تو هر فرم دیگه ای خواستید پاس بدید. الان کجاش مشکل دارید دقیقا؟
با لینک به سادگی میشه ... ؟ بستگی داره چه چیزیشو بخوای ؟
عزیزم بانکت چیه ؟
sql server
با ado یا linq کار میکنی و اشنایی داری ؟
فکر کنم مشکل شما پاس دادن نام کاربری از فرم 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();
آخرین ویرایش به وسیله reza9025 : جمعه 14 آذر 1393 در 18:37 عصر دلیل: افزودن کلمه ی کلیدی static به متغییر تعریف شده
من این کارارو کردم ولی نمی دونم چرا مقدار 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;
}
عزیز شرمنده اشتباه از من بود. متغیر _UserName رو باید از نوع static در نظر می گرفتید.
کد به صورت زیر:
class User
{
private static string _UserName;
public string UserName
{
get
{
return _UserName;
}
set
{
_UserName = value.ToString();
}
}
}
کد صفحه ی 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();
}
}