我在点击按钮事件中添加一行数据到DataSet中的一个表,然后更新DataSet,为什么无法保存至数据库?程序调试运行时,dataGridView中显示已添加了数据,但直接打开数据库,或再次调试运行程序时,之前添加的数据就又没了,不明白为什么,请高手指点,谢谢!
private void toolStripButton2_Click(object sender, EventArgs e)
{ this.dishesListTableAdapter.Insert(ListID: 2, DeskID: 2, ListCost: 0, AddTime: DateTime.Now, AddUser: "Admin");
this.dishesListTableAdapter.Update(this.testDataSet.DishesList);
testDataSet.DishesList.AcceptChanges();
this.dishesListTableAdapter.Fill(this.testDataSet.DishesList);
}
private void toolStripButton2_Click(object sender, EventArgs e)
{ this.dishesListTableAdapter.Insert(ListID: 2, DeskID: 2, ListCost: 0, AddTime: DateTime.Now, AddUser: "Admin");
this.dishesListTableAdapter.Update(this.testDataSet.DishesList);
testDataSet.DishesList.AcceptChanges();
this.dishesListTableAdapter.Fill(this.testDataSet.DishesList);
}
解决方案 »
- DataRow[] dt= tb.Select("oderid=" + OderID);这样写报错
- 遍历数组,然后赋值给textbox
- 为什么用ILIST而不用list
- 菜鸟求教!~!如何编译最大公约数和最小公倍数!
- 用c#编写pc机与plc的串口通信(高分请教)
- 今天下午11月16日CSDN宝玉与您谈“如何最 优化您的ASP.NET”程序
- [顶]DataGridView高级用法!
- 如何将system.windows.forms.datagrid中的checkbox设置为灰色。
- c#接口中 能有这个吗? int managecount=55;
- C++写的动态库在C#中怎么调用?
- 用InlineShapes.AddOLEControl添加图片
- 如何关联两个滚动条?
这行代码多余。
你的这种写法真的很奇葩,从未见过直接在Adapter上面Inset的做法,数据新增都是对DataTable操作,然后在最后更新到数据库,你好像是实时更新,反正不是正规写法,不想花时间去研究奇葩的写法。
DataSet保存数据的方法后简单,就是adapter.Updata(dataset)就可以了,之所以用adapter.insert是因为在尝试各种方法,最后写了这方法,但这样也是没错的。adapter添加数据的方法通常用dataset.table.add()就可以了,AcceptChanges()确实有点多余。