PDA

View Full Version : سوال: نحوه لاگین با استفاده از بانک



mani_davodi
شنبه 03 بهمن 1388, 23:51 عصر
با سلام اگه کسی می تونه یه نمونه کد برای استفاده از لاگین که از بانکم بخونه و چک کنه بعد وارد بشه

Sirwan Afifi
شنبه 03 بهمن 1388, 23:57 عصر
اگه اکسسه باید به این شکل باشه :


DataSet ds = new DataSet();
string s1, s2;
s1 = "provider= microsoft.jet.oledb.4.0;" + "data source=C:\\m.mdb";
OleDbConnection con = new OleDbConnection(s1);
OleDbDataAdapter da = new OleDbDataAdapter("select * from users where نام = " + "'" + comboBox1.Text + "'" + "and " + " رمز =" + "'" + textBox2.Text + "'", con);
if ((comboBox1.SelectedItem.ToString() == "") || (textBox2.Text == ""))
MessageBox.Show("لطفا نام کاربری و روز عبور خود را وارد نمائید ");
else
{
con.Open();
int i = da.Fill(ds, "users");
con.Close();
if (i > 0)
{
MainForm m = new MainForm();
m.Show();
this.Hide();
}
else
{
MessageBox.Show("نام کاربری و یا رمز عبور اشتباه می باشد");
textBox2.Text = "";
}
}

و یا اگه SQL :


if (textBox1.Text != "" && textBox2.Text != "")
{
con.Open();//open database connection
SqlCommand isAdmin = new SqlCommand("select * from login where username=N'" + textBox1.Text + "' and pass=N'" + textBox2.Text + "'", con);//SQL command For Compare Textboxs with Fields
SqlDataReader myRead = isAdmin.ExecuteReader();
if (myRead.HasRows)
{

myRead.Close();
con.Close();
Form2 f = new Form2();
Hide();
f.Show();


}
else
{
myRead.Close();
con.Close();

}
}

Rejnev
یک شنبه 04 بهمن 1388, 01:01 صبح
سلام این هم با استفاده از معماری لایه ای اگه دوست داشتی
http://barnamenevis.org/forum/showthread.php?t=201326

mani_davodi
یک شنبه 04 بهمن 1388, 01:39 صبح
اقا حالا اگه بخام اطلاعات یه فیلد دگه را هم بخونم می تونم بدون sql data adapter va dataset
اگه میشه راهنمایی کنید

mani_davodi
یک شنبه 04 بهمن 1388, 03:45 صبح
با اجازتون من مثلا اگه جدوام نام خانوادگی را هم داشته باشه بدون اون چیزایی که بالا گفتم میتونم از این استفاده کنم راستی یه زحمت دیگه اگه ممکنه من میخوام از یک textbox تو form1 مقدارشا بردارم و تو form2 استفاده کنم اما جواب نمیده

Rejnev
یک شنبه 04 بهمن 1388, 10:30 صبح
با اجازتون من مثلا اگه جدوام نام خانوادگی را هم داشته باشه بدون اون چیزایی که بالا گفتم میتونم از این استفاده کنم راستی یه زحمت دیگه اگه ممکنه من میخوام از یک textbox تو form1 مقدارشا بردارم و تو form2 استفاده کنم اما جواب نمیده

ببینید
در معماری لایه ای یا مدل بالایی لحظه ای که اطلاعات از بانک خونده میشه میتونید یک Session ایجاد کنید. بدین نحو که یک کلاس واسط مثلا با نام User در پروژه اضافه کنید و اطلاعات کاربر رو بعد از ورودش در اون کلاس قرار بدین ازقبیل نام و نام خانوادگی و...
حالا توی هر فرمی که بخواید نام خانوادگی طرف رو نشون بدید مقدار رو از کلاس میخونید.
در مدل لایه ای ما میومدیم و تعداد رکوردهای dt رو در لایه Logic چک میکردیم.
پس میتونید فیلدهای جدول رو هم بخونید
مثلا



User.family=dt.rows[0]["family"].toString();


در فیلد family کلاسی که اضافه کردید مقدار جدول رو میریزیم(در لایه منطق)