PDA

View Full Version : سوال: خطا در اجرای لاگین فرم



lvl3hdi
یک شنبه 04 بهمن 1394, 19:03 عصر
سلام
ممنون میشم این کد رو برام اررورشو بگین
button کار نمیکنه و با F10 می خوای بری پیدا نمیکنه و تو کش هم نمیره

try
{
if (CmbUseres.SelectedItem == "دانشجو")
{
if (connect.State == ConnectionState.Closed || connect.State == ConnectionState.Broken)
connect.Open();
SqlCommand scmd = new SqlCommand("select Password from [user] where Type= @type and UserName= @uName ", connect);
scmd.Parameters.AddWithValue("@uName", txtUser.Text);
scmd.Parameters.AddWithValue("@type", CmbUseres.Text);
int result = ((int)scmd.ExecuteScalar());
int pas = Convert.ToInt32(TxtPassword.Text);
if (pas == result)
{
FrmEducation frm = new FrmEducation();


frm.BtnSabtSTD.Enabled = false;


this.Hide();
MessageBox.Show("لطفا نام کاربری و رمز عبور معتبر را وارد کنید", "ERROR");
//frm.ShowDialog();
this.Close();
return;
}
else
{
TxtPassword.Clear();
MessageBox.Show(" صحیح نمیباشد Password ");
}
connect.Close();
}
else if (CmbUseres.SelectedItem == "استاد")
{
if (connect.State == ConnectionState.Closed || connect.State == ConnectionState.Broken)
connect.Open();
SqlCommand scmd = new SqlCommand("select Password from [user] where Type= @type and UserName= @uName ", connect);
scmd.Parameters.AddWithValue("@uName", txtUser.Text);
scmd.Parameters.AddWithValue("@type", CmbUseres.Text);
int result = ((int)scmd.ExecuteScalar());
int pas = Convert.ToInt32(TxtPassword.Text);
if (pas == result)
{
FrmEducation frm = new FrmEducation();
frm.ShowDialog();
}
else
{
TxtPassword.Clear();
MessageBox.Show(" صحیح نمیباشد Password ");
}
connect.Close();
}
else if (CmbUseres.SelectedItem == "آموزش")
{
if (connect.State == ConnectionState.Closed || connect.State == ConnectionState.Broken)
connect.Open();
SqlCommand scmd = new SqlCommand("select Password from [user] where Type= @type and UserName= @uName ", connect);
scmd.Parameters.AddWithValue("@uName", txtUser.Text);
scmd.Parameters.AddWithValue("@type", CmbUseres.Text);
int result = ((int)scmd.ExecuteScalar());
int pas = Convert.ToInt32(TxtPassword.Text);
if (pas == result)
{
FrmEducation frm = new FrmEducation();
frm.ShowDialog();
}
else
{
TxtPassword.Clear();
MessageBox.Show(" صحیح نمیباشد Password ");
}
connect.Close();
}
else if (CmbUseres.SelectedItem == "ریاست")
{
if (connect.State == ConnectionState.Closed || connect.State == ConnectionState.Broken)
connect.Open();
SqlCommand scmd = new SqlCommand("select Password from [user] where Type= @type and UserName= @uName ", connect);
scmd.Parameters.AddWithValue("@uName", txtUser.Text);
scmd.Parameters.AddWithValue("@type", CmbUseres.Text);
int result = ((int)scmd.ExecuteScalar());
int pas = Convert.ToInt32(TxtPassword.Text);
if (pas == result)
{
FrmEducation frm = new FrmEducation();
frm.ShowDialog();
}
else
{
TxtPassword.Clear();
MessageBox.Show(" صحیح نمیباشد Password ");
}
connect.Close();
}
}
catch (Exception exp)
{
MessageBox.Show(exp.Message.ToString());
txtUser.Clear();
TxtPassword.Clear();
MessageBox.Show("وارده اشتباه هستند UserName و Password ");
}

lvl3hdi
دوشنبه 05 بهمن 1394, 11:23 صبح
تو صفحه لاگین یک ComboBox برای نوع کاربری و دوتا TextBox برای نام کاربری و پسورد گذاشتم
سطح دسترسیشو می خوام با کمبو چک کنم مثلا ریاست به همه Button صفحه بعدی دسترسی داشته باشه ولی بقیه محدود باشن

ممنون میشم راهنماییم کنید

AmiN0012
دوشنبه 05 بهمن 1394, 15:01 عصر
یه فیلد با نام سمت(semat) به بانکت اضافه کن.بعد قسمت معرفی اعضا مشخص کن کی مدیر هست کی کاربر.تو لاگین بگو اگر کاربر بود سمتش ی سری دکمه ها ویزیبلشو فالس کن

lvl3hdi
سه شنبه 06 بهمن 1394, 12:48 عصر
یه فیلد با نام سمت(semat) به بانکت اضافه کن.بعد قسمت معرفی اعضا مشخص کن کی مدیر هست کی کاربر.تو لاگین بگو اگر کاربر بود سمتش ی سری دکمه ها ویزیبلشو فالس کن

خیلی ممنون بابت جوابتون
فیلد Type گذاشتم تو بانک برای نوع کاربریشون
مشکل من اینجاست که Button کار نمیکنه اگه مشکلی تو کدش هست یا اگه میتونم دستور بهتری بنویسم ممنون میشم راهنمایی کنید

cmsdqq2
سه شنبه 06 بهمن 1394, 13:04 عصر
به باتن رفرس دادین؟

AmiN0012
سه شنبه 06 بهمن 1394, 14:27 عصر
این سورس اصلی لاگین من هست.شما براساس نیاز های خودت کاملترش کن


if(Txt_Password.Text!="" && Txt_Username.Text!="")
{
Dt = new DataTable();
Mydb.Open();
string str = "Pers_Semat,Pers_Username,Pers_Password from Personnel where Pers_Username=N'"+Txt_Username.Text+"' and Pers_Password=N'"+Txt_Password.Text+"'";
da=new SqlDataAdapter(str,Mydb.conn);
da.Fill(Dt);
if(Dt.Rows.Count!=0)
{
string semat = Dt.Rows[0]["Pers_Semat"].ToString();
if(semat=="مدیر")
{
this.Hide();
Frm_Main Frm = new Frm_Main();
Frm.ShowDialog();
}
else if(semat=="کاربر")
{
this.Hide();
Frm_Main Frm = new Frm_Main();
Frm.ShowDialog();
}

اینجوری دیگه نیازم نیست یه کامبو تو فرم لاگین بزاری تا طرف انتخاب کنه کاربر هست یا مدیر

lvl3hdi
سه شنبه 06 بهمن 1394, 16:31 عصر
این سورس اصلی لاگین من هست.شما براساس نیاز های خودت کاملترش کن


if(Txt_Password.Text!="" && Txt_Username.Text!="")
{
Dt = new DataTable();
Mydb.Open();
string str = "Pers_Semat,Pers_Username,Pers_Password from Personnel where Pers_Username=N'"+Txt_Username.Text+"' and Pers_Password=N'"+Txt_Password.Text+"'";
da=new SqlDataAdapter(str,Mydb.conn);
da.Fill(Dt);
if(Dt.Rows.Count!=0)
{
string semat = Dt.Rows[0]["Pers_Semat"].ToString();
if(semat=="مدیر")
{
this.Hide();
Frm_Main Frm = new Frm_Main();
Frm.ShowDialog();
}
else if(semat=="کاربر")
{
this.Hide();
Frm_Main Frm = new Frm_Main();
Frm.ShowDialog();
}

اینجوری دیگه نیازم نیست یه کامبو تو فرم لاگین بزاری تا طرف انتخاب کنه کاربر هست یا مدیر


ممنون داداش ، عالی بود