R5q7p 2015-01-10 08:06 采纳率: 100%
浏览 2636
已采纳

C#如何将combobox里面我选择的项和表内的一个数值比对,如果相符则进入对应的页面。

我们数据库课程设计做学生成绩管理系统。
我现在在做登录界面的代码,对应的表结构是user_name,user_pwd,status遇到了一个问题:就是只要我输入的用户名和密码正确,在combobox里面选择管理员就进入管理员页面,选择学生就进入了学生页面。表里面的status是标注这个账号是什么角色,想在代码里加上一个条件就是希望能将combobox里面我选择的项和表内的status比对,如果相符则进入对应的页面。

下面是我登录部分的代码:
public bool CheckInput()
{
bool flag=false;
if(string.IsNullOrEmpty(this.用户名.Text.Trim()))
{
MessageBox.Show("用户名不能为空,登录失败","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
else if(string.IsNullOrEmpty(this.密码.Text.Trim()))
{
MessageBox.Show("密码不能为空,登录失败","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
else
{
flag=true;
}
return flag;
}
///
/// 登录按钮点击事件
///
///
///
private void 登录_Click(object sender, EventArgs e)
{
if (CheckInput())
{
//无密码建立连接SQL数据库对象
string connStr = "Data Source=PC-20140923RVHL\SQL2005;Initial Catalog=Stu_mark_MS;Integrated Security=True";
//创建数据库连接对象
SqlConnection conn = new SqlConnection(connStr);
try
{
//打开数据库连接
conn.Open();
//创建SQL语句
string sql = "select user_name,user_pwd,status from user_info where user_name='" + 用户名.Text + "'and user_pwd='" + 密码.Text + "'";
//创建命令对象
SqlCommand comm = new SqlCommand(sql, conn);//执行SQL命令
comm.CommandText = sql;
comm.Connection = conn;
SqlDataReader ada = comm.ExecuteReader();
if (ada.Read())
{
if (this.身份.SelectedItem.ToString() == "管理员"&& status=="管理员")
{
//创建管理员信息窗体实例
admin admin = new admin();
//打开管理员信息窗体
admin.Show();
}
if (this.身份.SelectedItem.ToString() == "学生")
{
//创建学生信息窗体实例
student student = new student();
//打开学生信息窗体
student.Show();
}
}
else
{
MessageBox.Show("用户名密码有误,请重新输入");
}
}
catch (Exception ex)
{
MessageBox.Show("出现异常:" + ex.Message);
}
finally
{
conn.Close();
}
}

  • 写回答

2条回答 默认 最新

  • 热冰棍 2015-01-10 08:29
    关注

    select user_name,user_pwd,status from user_info where user_name='" + 用户名.Text + "'and user_pwd='" + 密码.Text + "' and status =‘" +combobox.text+",";
    然后直接饭后受影响行数 comm.ExecuteNonQuery();然后判断行数>0就竟然combox对应的界面否则提示错误

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 stata空间计量LM检验
  • ¥15 NAO机器人说出txt文本内容
  • ¥15 关于k8s node节点被释放后如何驱逐节点并添加新节点
  • ¥15 subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1
  • ¥15 for循环处理大量数据怎么优化
  • ¥15 笔记本接显卡扩展坞重启报错
  • ¥15 为什么这个指令报错啊,一直弄不懂为什么,想问问该怎么弄,决求解决,ubuntu刚入手
  • ¥15 用百度飞将的paddleyolo库里的yolov7训练自己数据集
  • ¥15 Saber里如何查看磁芯的磁通密度
  • ¥25 关于下拉菜单、数据库、关联选项的问题