我正在尝试为一个表创建一个简单的数据库插入,插入和连接工作正常。只有在输入错误数据时出现异常时才会出现问题。
这是我的代码:(使用MySql和EF6)
using (MaintenanceDB db = new MaintenanceDB())
{
try
{
employee employee = new employee
{
ID = idTBA.textBox.Text,
EName = enTBA.textBox.Text,
AName = anTBA.textBox.Text,
CareerCode = careerCodeCBA.comboBox.SelectedItem.ToString(),
Specialization = specTBA.textBox.Text,
Mobile = mobileTBA.textBox.Text,
Telephone = teleTBA.textBox.Text,
Email = emailTBA.textBox.Text
};
db.employees.Add(employee);
db.SaveChanges();
}
catch (DbUpdateException exception)
{
MessageBox.Show(exception.InnerException.InnerException.Message);
}
catch (EntityException exception)
{
MessageBox.Show(exception.InnerException.Message);
}
}
所以如果正确输入数据一切顺利又好,但是如果我输入重复ID,例如第一次进入第一个catch块并告诉我有重复,此时出现了错误,它似乎连接没有在这里关闭(尽管最后使用并在db上配置),下次我点击保存按钮时出现错误“不支持嵌套事务”,然后数据库关闭,我可以输入新的数据!
我尝试手动打开连接或启动事务并手动关闭它,就像我在这里的几个帖子中找到的那样但似乎没有解决问题
答案 0 :(得分:1)
[2月27日15:54] Raif Atef
此错误是由于MySqlTransaction类中的错误造成的。