你可以按照以下步骤来实现DataGridView中考勤成绩的修改,并连接和关闭数据库:
- 首先,在按钮的Click事件处理程序中,获取选中行的索引值:
int selectedIndex = dataGridView1.SelectedCells[0].RowIndex;
- 接下来,获取所需的数据值:
string studentName = dataGridView1.Rows[selectedIndex].Cells["Sname"].Value.ToString();
string courseName = dataGridView1.Rows[selectedIndex].Cells["Cname"].Value.ToString();
string teacherName = dataGridView1.Rows[selectedIndex].Cells["Tname"].Value.ToString();
int creditHours = Convert.ToInt32(dataGridView1.Rows[selectedIndex].Cells["Ct1"].Value);
- 然后,从textBox4中获取新的考勤成绩:
int newAttendanceScore = Convert.ToInt32(textBox4.Text);
- 现在,可以进行数据库操作。首先建立数据库连接并创建SQL语句:
using (SqlConnection connection = new SqlConnection("your_connection_string"))
{
connection.Open();
string sqlQuery = "UPDATE Attend SET kaoqin = @kaoqin WHERE Sname = @sname AND Cname = @cname AND Tname = @tname";
using (SqlCommand command = new SqlCommand(sqlQuery, connection))
{
command.Parameters.AddWithValue("@kaoqin", newAttendanceScore);
command.Parameters.AddWithValue("@sname", studentName);
command.Parameters.AddWithValue("@cname", courseName);
command.Parameters.AddWithValue("@tname", teacherName);
int rowsAffected = command.ExecuteNonQuery();
if (rowsAffected > 0)
{
MessageBox.Show("考勤成绩已成功修改!");
}
else
{
MessageBox.Show("修改失败,请稍后重试。");
}
}
connection.Close();
}
- 最后,记得在窗体加载或关闭时连接和关闭数据库:
// 在窗体加载时建立数据库连接
private void Form_Load(object sender, EventArgs e)
{
// 建立数据库连接的代码
}
// 在窗体关闭时关闭数据库连接
private void Form_Close(object sender, EventArgs e)
{
// 关闭数据库连接的代码
}
请根据实际情况修改上述代码中的”your_connection_string”为你自己的数据库连接字符串,并确保正确引用了相关命名空间。同时,还需注意异常处理和数据验证等细节,以提高代码的健壮性和用户体验。
内容由零声教学AI助手提供,问题来源于学员提问