新手求助,关于C#开发数据库系统的登录权限问题
时间:2011-11-27
来源:互联网
我用vs2010做了一个简单的数据库管理系统,设计了一个登陆界面,在里面放置了一个combobox,标签是“身份”,设置的Item为“学生“和”老师”,运行的时候,我想先选择身份,在判断输入的编号和密码是否正确,在跳转窗体,代码如下:
private void button1_Click(object sender, EventArgs e)
{
try
{
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data Source=HUAN-PC;Initial Catalog=stdent;Integrated Security=True";
if (comboBox1.Text == "学生")
{
String mysqlTwo = "select StudentID,Password from Student where Password='" + textBox1.Text + "'and StudentID='" + textBox2.Text + "'";
SqlCommand cmd2 = new SqlCommand(mysqlTwo, cn);
cn.Open();
SqlDataReader dr2 = cmd2.ExecuteReader();
if (dr2.Read())
{
MessageBox.Show("登录成功!");
Form选择界面 f1 = new Form选择界面();
f1.Show();
dr2.Close();
}
else
{
MessageBox.Show("你输入的用户名或密码不正确");
}
}
else if (comboBox1.Text == "教师")
{
String mysqlOne = "select TeacherID,Password from Teacher where Password='"+textBox1.Text+"'and TeacherID='" + textBox2.Text + "'";
SqlCommand cmd1 = new SqlCommand(mysqlOne, cn);
cn.Open();
SqlDataReader dr1 = cmd1.ExecuteReader();
if (dr1.Read())
{
MessageBox.Show("登录成功!");
Form选择界面 f2 = new Form选择界面();
f2.Show();
dr1.Close();
}
else
{
MessageBox.Show("你输入的用户名或密码不正确");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
但是运行的时候有个问题,当选择”教师“身份时,编号和密码为空时也能登陆成功,请高手指点,怎样在编号和密码为空时,弹出密码错误提示,不是登陆,学生已经实现了这个功能
private void button1_Click(object sender, EventArgs e)
{
try
{
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data Source=HUAN-PC;Initial Catalog=stdent;Integrated Security=True";
if (comboBox1.Text == "学生")
{
String mysqlTwo = "select StudentID,Password from Student where Password='" + textBox1.Text + "'and StudentID='" + textBox2.Text + "'";
SqlCommand cmd2 = new SqlCommand(mysqlTwo, cn);
cn.Open();
SqlDataReader dr2 = cmd2.ExecuteReader();
if (dr2.Read())
{
MessageBox.Show("登录成功!");
Form选择界面 f1 = new Form选择界面();
f1.Show();
dr2.Close();
}
else
{
MessageBox.Show("你输入的用户名或密码不正确");
}
}
else if (comboBox1.Text == "教师")
{
String mysqlOne = "select TeacherID,Password from Teacher where Password='"+textBox1.Text+"'and TeacherID='" + textBox2.Text + "'";
SqlCommand cmd1 = new SqlCommand(mysqlOne, cn);
cn.Open();
SqlDataReader dr1 = cmd1.ExecuteReader();
if (dr1.Read())
{
MessageBox.Show("登录成功!");
Form选择界面 f2 = new Form选择界面();
f2.Show();
dr1.Close();
}
else
{
MessageBox.Show("你输入的用户名或密码不正确");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
但是运行的时候有个问题,当选择”教师“身份时,编号和密码为空时也能登陆成功,请高手指点,怎样在编号和密码为空时,弹出密码错误提示,不是登陆,学生已经实现了这个功能
作者: huanghuan989629 发布时间: 2011-11-27
可以写一套代码同时支持学生和老师
另外,应用用户和数据库的用户最好分开吧
再另外,这是delphi版而不是c#版
另外,应用用户和数据库的用户最好分开吧
再另外,这是delphi版而不是c#版
作者: sz_haitao 发布时间: 2011-11-27
那你就就跟踪看看你的sql内容是什么,这就是一个查询问题,有什么查不出来的
作者: bdmh 发布时间: 2011-11-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28