PDA

View Full Version : سوال: مشکل فرم Login



mahdi_7610
چهارشنبه 23 تیر 1389, 00:51 صبح
سلام دوستان

قصد دارم واسه فرم لاگین کاربر یوزر و پسوورد را وارد کنه .
کد زیر را نمیدونم چه طور باید تنظیم کنم .
وقتی فقط یوزر باشه یا فقط پسوورد باشه مشکلی نیست اما وقتی هر دو هست چکار باید کرد؟



private void btnLogin_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(strcon);
OleDbCommand cmd = con.CreateCommand();
con.Open();
cmd.CommandText = "SELECT * FROM tblLogin";
if (cmd.ExecuteScalar().ToString() == txtUser.Text && cmd.ExecuteScalar().ToString() == txtPass.Text)
{
MainForm frmMainForm = new MainForm();
frmMainForm.ShowDialog();
}
else
{
MessageBox.Show("کاربر گرامی نام کاربری یا رمز عبور وارد شده فاقد اعتبار می باشد ","خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
con.Close();
}

mmd2009
چهارشنبه 23 تیر 1389, 01:01 صبح
با سلام

دوست عزیز در چنین مواقعی ابتدا جستجو بر اساس جدول صورت میگیره مثل کد زیر




select * from [نام جدول] ;



و سپس با کدهای زیر عملیاتی مثل عملیات شما انجام میشه



OleDbDataReader re = cmd.ExecuteReader();
if(re.Read())
{

if (textBox1.Text == re.GetValue(0).ToString() && textBox1.Text == re.GetValues(1).ToString())
MessageBox.Show("خوش امدید");
else
MessageBox.Show("نام کاربری یا رمز عبور اشتباه است");
}

ahrimaneahurai
چهارشنبه 23 تیر 1389, 08:54 صبح
توی دستوری sql که دوستمون داد شرط رو هم بذار که یوزر و پسوردت چیه اگه reader پیدا کرد که login کن اگه نه که نبوده.البته این برای موقعی هست که پسورد رو هش نکرده باشی

beh_develop
چهارشنبه 23 تیر 1389, 09:10 صبح
مهدی جان می تونی این کد رو امتحان کنی :



public void DoLogOn(String userName, String userPass)
{
SqlConnection sqlConn = null;
SqlCommand cmd = null;
SqlDataReader dr = null;
StringBuilder query = new StringBuilder("Select * From Users Where UserName = @UserName And UserPass = @UserPass");

try
{


sqlConn = new SqlConnection(ConnectionString);
cmd = new SqlCommand(query.ToString(), sqlConn);

cmd.Parameters.Add("@UserName", System.Data.SqlDbType.VarChar, 16);
cmd.Parameters["@UserName"].Value = userName;

cmd.Parameters.Add("@UserPass", System.Data.SqlDbType.VarChar, 16);
cmd.Parameters["@UserPass"].Value = userPass;

sqlConn.Open();

dr = cmd.ExecuteReader(System.Data.CommandBehavior.Sing leRow);

if (dr.Read())
{
// کاربر معتبر بوده و رمز عبور صحیح می باشد و می توانید کنترل های دیگر از جمله کاربر امکان دسترسی به برنامه را داشته یا نه را چک کنید
}
else
{
throw new Exception("شناسه و / یا رمز عبور معتبر نمی باشد");
}

dr.Close();
}
finally
{
if (dr != null)
{
dr.Close();
dr.Dispose();
}

if (cmd != null)
cmd.Dispose();

if (sqlConn != null)
{
if (sqlConn.State == System.Data.ConnectionState.Open)
sqlConn.Close();

sqlConn.Dispose();
}

}
}

mahdi_7610
چهارشنبه 23 تیر 1389, 12:32 عصر
با سلام

دوست عزیز در چنین مواقعی ابتدا جستجو بر اساس جدول صورت میگیره مثل کد زیر




select * from [نام جدول] ;



و سپس با کدهای زیر عملیاتی مثل عملیات شما انجام میشه



OleDbDataReader re = cmd.ExecuteReader();
if(re.Read())
{

if (textBox1.Text == re.GetValue(0).ToString() && textBox1.Text == re.GetValues(1).ToString())
MessageBox.Show("خوش امدید");
else
MessageBox.Show("نام کاربری یا رمز عبور اشتباه است");
}


سلام

نحوه تغییر نام کاربری و رمز عبور به چه صورتی هست .

هر کدی نوشتم جواب نداد:عصبانی++:

mmd2009
چهارشنبه 23 تیر 1389, 16:13 عصر
دوست عزیز برای تغییر نام کاربری و رمز عبور اگر از دیتابیس استفاده میکنی باید دستور Update رو استفاده بکنی.

mahdi_7610
چهارشنبه 23 تیر 1389, 17:34 عصر
دوست عزیز برای تغییر نام کاربری و رمز عبور اگر از دیتابیس استفاده میکنی باید دستور Update رو استفاده بکنی.


سلام
هر کاری می کنم جواب نمیده .
این کد را نوشتم اما جواب نمیده .



private void btnEnter_Click(object sender, EventArgs e)
{
OleDbConnection Con = new OleDbConnection(strCon);
OleDbCommand Cmd = Con.CreateCommand();
Con.Open();
Cmd.CommandText = "SELECT * FROM tblPassword";
if(Cmd.ExecuteScalar().ToString() == txtOlduser.Text && Cmd.ExecuteScalar().ToString() == txtOldpass.Text)
{
Cmd.CommandText = "UPDATE tblPassword SET User1='" + txtNewuser.Text.Trim() + "', Pass1= '" + txtNewpass.Text.Trim() + "'";
Cmd.ExecuteNonQuery();
MessageBox.Show("عملیات تغییر رمز عبور با موفقیت انجام گرفت", "انجام عملیات", MessageBoxButtons.OK, MessageBoxIcon.Information);
Con.Close();
}
MessageBox.Show("عملی انجام نشد","خطا");
Con.Close();
}


با استفاده از کد شما هم نوشتم جواب نداد