db.savechanges()不是在数据库中提交,甚至没有给出任何错误

时间:2018-04-21 23:20:30

标签: c# winforms ado.net

我正在处理窗体表单应用程序,并且我正在尝试使用ADO.net实体数据模型更新我的数据库。这是我的代码

 private void AddJobAddBtn_Click(object sender, EventArgs e)
        {
            JobTable job = new JobTable();

                JobDatabaseEntities db = new JobDatabaseEntities();

                job.Project_name = this.ProjectName_txt.Text;
                job.Job_Number = this.JobNumber_txt.Text;
                job.Job_Value = int.Parse(this.JobValue_txt.Text);
                job.Sales_Initials = this.SalesInitials_txt.Text;
                job.Stage = this.Stage_combo.Text;
                job.Creation_Date = DateTime.Parse(this.CreationDate_dte.Text);
                job.Email = this.Email_txt.Text;
                job.Notes = this.Notes_txt.Text;

                db.JobTables.Add(job);
                db.SaveChanges();

                Form1 home = new Form1();
                this.Visible = false;
                home.Visible = true;
        }

此代码运行时没有任何错误但是当我检查数据库时没有任何数据行,因此每当我关闭项目时,我保存的所有数据都将丢失。

我在与我的表绑定的Form1(home)页面上有一个datagridview。我可以在添加数据后在datagridview中看到我添加的数据,但它没有反映在数据库中。

请注意:我的表格中有一个名为Id的主键设置为标识。

我也尝试过使用

db.Entry(job).State = EntityState.Modified;

db.JobTables.Add(job);

并使用async函数

private async void AddJobAddBtn_Click(object sender, EventArgs e)
await db.SaveChangesAsync();

但它还没有更新数据库。

我也可以从datagridview删除和更新我的数据但是它没有在数据库中提交。

0 个答案:

没有答案