在button1_Click方法的末尾,你可以添加以下代码来关闭数据库连接:
finally
{
connection.Close();
}
完整代码如下所示:
private void button1_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count > 0)
{
string sName = dataGridView1.SelectedRows[0].Cells["Sname"].Value.ToString();
string cName = dataGridView1.SelectedRows[0].Cells["Cname"].Value.ToString();
string tName = dataGridView1.SelectedRows[0].Cells["Tname"].Value.ToString();
string attendanceResult;
if (radioButton1.Checked)
attendanceResult = "是";
else if (radioButton2.Checked)
attendanceResult = "否";
else
return;
try
{
connection.Open();
// 执行插入语句,将考勤信息保存到Attend表中对应的列中
string query = "INSERT INTO Attend (Sname, Cname, Tname, kaoqin) VALUES (@sName, @cName, @tName, @attendanceResult)";
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@sName", sName);
command.Parameters.AddWithValue("@cName", cName);
command.Parameters.AddWithValue("@tName", tName);
command.Parameters.AddWithValue("@attendanceResult", attendanceResult);
command.ExecuteNonQuery();
MessageBox.Show("考勤保存成功!");
}
catch (Exception ex)
{
MessageBox.Show("保存考勤时出错:" + ex.Message);
}
finally
{
connection.Close();
}
}
else
{
MessageBox.Show("请先选择一行数据!");
}
}
这样,无论在try块中是否发生异常,都会执行finally块的代码来确保数据库连接被关闭。
内容由零声教学AI助手提供,问题来源于学员提问