{
if (zh.Text == "")//如果用户名输入为空,执行if里的语句,弹出对话框‘却确认是否输入了用户名或密码’
{
System.Windows.Forms.MessageBox.Show("请确认是否输入了用户名或密码!")
}
else if (mm.Text == "")//如果密码为空,弹出对话框:"请确认是否输入了密码"
{
System.Windows.Forms.MessageBox.Show("请确认是否输入了密码!")
}
string sqlstr = "select userpower from admin where username ='" + zh.Text + "' and userpassword='" + mm.Text + "' and userpower='" + DropDownList1.SelectedItem.Text + "'"
sqlstr = sql.RunSqlReturn(sqlstr)//取得用户权限
string sqlstr1 = "select username from admin where username ='" + zh.Text + ""
sqlstr1 = sql.RunSqlReturn(sqlstr1)//取得用户名
string sqlstr2 = "select userpassword from admin where username ='" + zh.Text + "' and userpassword='" + mm.Text + "' and userpower='"
sqlstr2 = sql.RunSqlReturn(sqlstr2)//获取用户密码
if (sqlstr1 != Session[("username")] &&zh.Text != "" &&mm.Text != "")
{//数据库中没有有相应的用户,弹出对话框"该用户不存在"
System.Windows.Forms.MessageBox.Show("该用户不存在!")
}
else
{//输入的密码和数据库中的不一样,显示错误
if (sqlstr2 != Session[("userpassword")] &&zh.Text != "" &&mm.Text != "")
{
System.Windows.Forms.MessageBox.Show("密码错误!")
}
else
{//如果输入的信息和数据库中的数据相同,即验证通过,登录成功
if (sqlstr == DropDownList1.SelectedItem.Text &&sqlstr1 == zh.Text &&sqlstr2 == mm.Text)
{
Session["userpower"] = sqlstr
Session["username"] = sqlstr1
Session["userpassword"] = sqlstr2
System.Windows.Forms.MessageBox.Show("欢迎系统" + Session["userpower"] + "登陆成功!")
Response.Redirect("Default2.aspx")
}
else
{//如果该用户没有相应的权限,执行下面的if
if (zh.Text != "" &&mm.Text != "")
System.Windows.Forms.MessageBox.Show("权限错误")
}
}
设计登录窗口的思想是这样的:一、在加载主窗口时候(即Load事件中)加载登录窗口二、在登录窗口中点击“登录”按钮时候发生下面的事情1.声明变量userName并获取用户名文本框输入的内容,声明变量pwd并获取密码文本框输入的内容。2.判断userName是否为空,如果为空,则提示输入并结束事件,判断pwd是否为空,如果为空,则提示输入并结束事件3.用ADO.NET操作数据库,查找是否有对应输入的用户名和密码,如果有,将关闭登录窗口,如果没有,则提示用户名和密码错误。设MSSQL数据库中有数据库test1,里面有表users,表中有字段username和pwd。主窗口中的Load事件中的代码为:Login fm = new Login()//创建登录窗口if (fm.ShowDialog() == DialogResult.OK)//判断登录是否成功登录窗口中“登录”按钮的代码为://要先引用using System.Data.SqlClientstring userName = textBox1.Textstring pwd = textBox2.Textif (userName == string.Empty )//判断用户名的文本框是否有输入内容{MessageBox.Show("请输入用户名!")//提示输入用户名return//跳出事件,不执行下面的代码}else if (pwd == string.Empty){MessageBox.Show("请输入密码!")return}//下面是ADO.NET对数据库进行操作,查找是否有用户名和密码相符的记录,如果有,设置tag为1,表示登录成功SqlConnection conn = new SqlConnection("Data Source=.\\sqlexpressInitial Catalog=test1Integrated Security=True")conn.Open()string sql = string.Format("select count(*) from users where username='{0}' and pwd='{1}'",userName,pwd)SqlCommand comm = new SqlCommand(sql,conn)int tag = 0if ((int)comm.ExecuteScalar() 0)tag = 1conn.Close()if (tag == 1)//判断是否登录成功{this.DialogResult = DialogResult.OKthis.Close()}else{MessageBox.Show("密码错误!")}以上就是主要的代码和内容了。说一下你的数据库中的表名使用有问题,不能用user作为表名,因为这是个关键字,用的话会出错的。建议你用users或其他的。这里有参考源代码,外链是以上信息希望对你有帮助。^^