我用一下方法读取数据库
myDataSet = new DataSet();
myDataAdapter = new OleDbDataAdapter("
"SELECt * FROM 分类 WHERe 编号=1
", conn);
然后将dataset绑定到网格控件。
在网格控件里面修改或添加内容后不能保存代码如下:
myCommandBuilder = new System.Data.OleDb.OleDbCommandBuilder(myDataAdapter);
myDataAdapter.DeleteCommand = myCommandBuilder.GetDeleteCommand();
myDataAdapter.UpdateCommand = myCommandBuilder.GetUpdateCommand();
myDataAdapter.InsertCommand = myCommandBuilder.GetInsertCommand();
try
{
// 保存到数据库
myDataAdapter.Update(myDataSet.Tables["分类"]);
}
catch (Exception err)
{
}
myDataAdapter.Fill(myDataSet, "分类");
上面的代码中如果不用用条件查询可以正常保存到数据库。。。
问题解决了,代码没有问题,只是我在查询数据库后没有重新绑定网格控件,照成的不能更新到数据库。。。。感谢大家的回复
C# 用DATASET读取数据库后保存问题
答案:4 悬赏:0 手机版
解决时间 2021-03-06 10:43
- 提问者网友:伴风望海
- 2021-03-05 15:30
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-03-05 15:44
这个很简单,原因你并不了解UpdateCommand中的生成了什么SQL
myDataAdapter.UpdateCommand = myCommandBuilder.GetUpdateCommand();
MessageBox.Show(myDataAdapter.UpdateCommand); //加这一行,看显示的SQL,然后就知道为什么有问题了。
myDataAdapter.UpdateCommand = myCommandBuilder.GetUpdateCommand();
MessageBox.Show(myDataAdapter.UpdateCommand); //加这一行,看显示的SQL,然后就知道为什么有问题了。
全部回答
- 1楼网友:玩世
- 2021-03-05 17:19
标识列不用你插入。。
他是自动增长的。。
你在插入数据的时候别对这列进行操作就行了。。。
。。。你知道什么叫自动标识列么。。啊。。
你个2比
楼主是相当的2比。。。你自己表达能力有问题还在那嚎嚎...你个蛋比 你爹我生气了
- 2楼网友:慢性怪人
- 2021-03-05 16:34
看不到语句,不知道要做什么
表意不明确
- 3楼网友:独钓一江月
- 2021-03-05 16:02
学习中
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯