我有一个数据网格视图,当我点击数据gridview行时,我有两个文本框,相应的行值填入文本框......
直到这个工作正常......
我想在点击保存按钮
时更新类别表我有
的类别表 category_id
category_name
category_description
这是我的代码:
private void btnSave_Click(object sender, EventArgs e)
{
if(dgvCategories.SelectedRows.Count >0)
{
int updatecategoryid = Convert.ToInt32(dgvCategories.SelectedRows[0].Cells[0].Value);
category categoryupdate = new category() { category_Id = updatecategoryid };
categoryupdate.category_Name = tbCategoryName.Text;
categoryupdate.category_Description = tbCategoryDescription.Text;
dbcontext.SaveChanges();
}
}
它不会更新类别表.....
对此有任何帮助.....
答案 0 :(得分:1)
您的dbcontext
无法知道您正在更新任何内容。由于您提到“更新”表格,因此这是更新类别表格的一种方法。
更新
var category = dbcontext.Categories.Where(c => c.category_id.Equals(catId)).Single();
if (category != null)
{
category.category_name = tbCategoryName.Text;
category.category_description = tbCategoryDescription.Text;
}
dbcontext.SaveChanges();
现在,如果你想在你的类别表上插入......
插入:
category c = new category();
c.category_name = tbCategoryName.Text;
c.category_description = tbCategoryDescription.Text;
dbcontext.Categories.AddObject(c);
dbcontext.SaveChanges();
return c.category_id; //(optional) if you want the unique id to be returned
答案 1 :(得分:0)
除非您说出来,否则dbcontext
无法知道您创建了category
个对象。
category categoryupdate = new category() { category_Id = updatecategoryid };
dbcontext.Attach(categoryupdate);
categoryupdate.category_Name = tbCategoryName.Text;
categoryupdate.category_Description = tbCategoryDescription.Text;
dbcontext.SaveChanges();