我该如何做到,只有登录的学生才能查看自己的成绩,而不能查看所有人

时间:2019-01-25 19:01:30

标签: c# mysql forms

我正在努力做到这一点,以便只有登录的学生才能查看自己的成绩,而不是查看每个成绩。

我正在创建一个画布应用程序,使登录的学生可以查看他们的作业和成绩。我只需要datagridview来显示记录的学生作业名称和成绩。

 void GridFillGrade()
    {
        using (MySqlConnection con = new MySqlConnection(connectionString))
        {
            con.Open();
            MySqlDataAdapter sda = new MySqlDataAdapter("ViewAllGrades", con);
            sda.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataTable dta = new DataTable();
            sda.Fill(dta);
            stdGrade.DataSource = dta;
           con.Close();
        }
    } 

    private void StudentPage_Load(object sender, EventArgs e)
    {
        GridFillASs();
        GridFillGrade();
    }

“ viewAllGrades”来自mysql查询

CREATE DEFINER=`root`@`localhost` PROCEDURE `ViewAllGrades`()
BEGIN
    SELECT * 
FROM  Grades;

END

这是登录代码

 private void btnlogin_Click(object sender, EventArgs e)
    {
        i = 0;
        con.Open();
        MySqlCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "select * from stdinfotable where Username='" + textuser.Text + "' and Password= '" + textpass.Text + "'";
        cmd.ExecuteNonQuery();
        DataTable dt = new DataTable();
        MySqlDataAdapter dta = new MySqlDataAdapter(cmd);
        dta.Fill(dt);
        i = Convert.ToInt32(dt.Rows.Count.ToString());

        if(i==0)
        {
            MessageBox.Show("Error");
        }
        else
        {
            this.Hide();
            StudentPage f = new StudentPage();
            f.Show();

        }
        con.Close();

    }

所以我想知道是否应该对登录代码做一些事,以便存档我要保存的内容,但是我不知道会发生什么。很抱歉,自从我一直在使用MySql以来,我对数据库仍然只有4个月的时间。

1 个答案:

答案 0 :(得分:0)

我假设您的成绩表具有将其与stdinfotable关联的键。

如果是这样,那么您的SQL查询将是

    double j = 0;
    do {
        System.out.printf("%.1f, ", j);
        j+= 0.1;
    } while (j <= 3);

已登录学生的ID为12