我正在努力做到这一点,以便只有登录的学生才能查看自己的成绩,而不是查看每个成绩。
我正在创建一个画布应用程序,使登录的学生可以查看他们的作业和成绩。我只需要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个月的时间。
答案 0 :(得分:0)
我假设您的成绩表具有将其与stdinfotable关联的键。
如果是这样,那么您的SQL查询将是
double j = 0;
do {
System.out.printf("%.1f, ", j);
j+= 0.1;
} while (j <= 3);
已登录学生的ID为12