Gridview 컨트롤을 사용하여 개체를 편집, 업데이트 및 삭제할 수있는 프로젝트를 만들고 있는데 새로운 개체를 저장할 때마다 예외가 발생했습니다. 사실 오류가있는 곳을 찾을 수 없었습니다. 나는 .NET에서 DB4o 프로그래밍을 처음 접했을 때, 기초를 배울 수있는 좋은 소스를 찾을 수 없었고, 따라서 모든 참조가 완전히 평가 될 것입니다. 미리 감사드립니다.Db4objects.Db4o.Ext.DatabaseClosedException Gridview에서 업데이트하는 동안
// Pageload
Db4oService.OpenDB();
using (var patientdbcontainer = Db4oService.PatientDBContainer)
{
var list = patientdbcontainer.Query<Patient>(typeof(Patient)).ToList<Patient>();
GridView1.DataSource = list;
GridView1.DataBind();
}
// (내가 코드를 undersand 경우, 어쩌면 ID를 사용하여 환자를 얻을 더
public void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//var ID = new Guid((string)e.NewValues["ID"]);
// var Name = (string)e.NewValues["Name"];
// var IMEI = long.Parse(e.NewValues["IMEI"].ToString());
Patient updatedPatient = new Patient()
{
ID = new Guid((string)e.NewValues["ID"]),
IMEI =long.Parse(e.NewValues["IMEI"].ToString()),
Name = (string)e.NewValues["Name"]
};
Patient deprecatedPatient;
using (var patientdbcontainer = Db4oService.PatientDBContainer)
{
deprecatedPatient = patientdbcontainer.Query<Patient>(typeof(Patient)).Where<Patient>(n => n.ID == (new Guid((string)e.NewValues["ID"]))).FirstOrDefault<Patient>();
// deprecatedPatient.Name = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
deprecatedPatient.ID = updatedPatient.ID;
deprecatedPatient.Name = updatedPatient.Name;
patientdbcontainer.Delete(deprecatedPatient);
patientdbcontainer.Store(updatedPatient);
patientdbcontainer.Commit();
GridView1.EditIndex = -1;
GridView1.DataBind();
}
당신이 스택을 게시 할 수 자취? – Gamlor