问题描述
公司让我写个抽奖的小程序,我打算用access座数据库,可是代码都是对的,运行也没有任何错误,就是写不到数据库里面去,但是可以查询。程序是winform的,数据库文件目录的权限我也给了最大了。代码如下,为了偷懒用的commandbuilder。直接用oledbcommand也写不进去是过了,烦了我两天这问题,求大虾们帮忙OleDbConnectionconn=newOleDbConnection(ConfigurationSettings.AppSettings["AccessConnString"]);OleDbCommandcomm=newOleDbCommand("select*fromprizeConfig",conn);OleDbDataAdapteradapter=newOleDbDataAdapter(comm);OleDbCommandBuilderbuilder=newOleDbCommandBuilder(adapter);DataSetds=newDataSet();adapter.Fill(ds);DataRowdr=ds.Tables[0].NewRow();dr["prizeName"]="aa";ds.Tables[0].Rows.Add(dr);adapter.Update(ds);
解决方案
解决方案二:
看上去挺好的~~你把自动生成的InsertCommand打印出来看看的?
解决方案三:
在adapter.Update(ds);语句后加上ds.AcceptChanges();
解决方案四:
都和你说了啊。数据库没主键
解决方案五:
是不是报错??
解决方案六:
引用3楼zetee的回复:
都和你说了啊。数据库没主键
这个有可能
解决方案七:
adapter.Update(ds);//你更新的是ds里的临时表,数据库里的表当然没有更新了你再定义一个OleDbCommand对象,里面写上insert语句试试看能不能写入数据库
解决方案八:
没看到你有insertcommand啊?