datagridview保存数据出现问题

问题描述

更新代码如下:oledataAdaper.Update(DataSet.Tables[TName]);DataSet.Tables[TName].AcceptChanges();DataSet.AcceptChanges();注:只是针对单张表,只是update操作,表没有主键。错误说明:“当传递具有已经修改行的datarow集合时,更新要求有效的updatecommand”

解决方案

解决方案二:
沙发帮忙顶
解决方案三:
谢谢,希望更多人过来看看,指点一下迷津
解决方案四:
给为我把全部代码贴上,请分析一下privateOleDbConnectionOleConn=newOleDbConnection();privateOleDbDataAdapterOleAdapter;DataSetDSet=newDataSet();publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){stringstrCon=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|database.mdb";OleConn.ConnectionString=strCon;OleConn.Open();stringstrSql="SELECT*FROMtablename";OleAdapter=newOleDbDataAdapter(strSql,OleConn);OleAdapter.Fill(DSet,tablename);BindingSourceBSource=newBindingSource();BSource.DataSource=DSet.Tables[tablename];dataGridView1.DataSource=BSource;}privatevoidbtnSave_Click(objectsender,EventArgse){if(DSet.Tables["北京市土壤养分定级标准2007"].GetChanges()!=null){OleAdapter.Update(DSet.Tables["北京市土壤养分定级标准2007"]);DSet.AcceptChanges();}}说明:数据库中的表没有主键;我查了一些文章,也请教过一些人,他们说直接把oledbadaper更新就可以了,但是我的就不行,苦恼啊。目的:我只是想直接在datagridview上修改,然后保存到数据库中。错误:当传递具有已修改行的DataRow集合时,更新要求有效的UpdateCommand。各位帮帮忙,在线等
解决方案五:
补充一下tablename="北京市土壤养分定级标准2007";刚才发的时候后面没有看见,没有改掉
解决方案六:
这个问题我也遇到过,不过忘记怎么解决了。好像是update语句有问题。
解决方案七:
学习
解决方案八:
是oledbdataadapter.update()么,我试了其他的重载也不行,提示的错误都不一样了。
解决方案九:
谁解决了,20分就给他了,在线等
解决方案十:
加入下列语句myCommandBuilder=newSystem.Data.OleDb.OleDbCommandBuilder(myDataAdapter);oledbdataadapter.DeleteCommand=myCommandBuilder.GetDeleteCommand();oledbdataadapter.UpdateCommand=myCommandBuilder.GetUpdateCommand();oledbdataadapter.InsertCommand=myCommandBuilder.GetInsertCommand();然后调用OleAdapter.Update(DSet.Tables["北京市土壤养分定级标准2007"]);DSet.AcceptChanges();
解决方案十一:
对于没有主键的数据集不能使用Commandbuilder来自动生成相关的sqlcommander必须手动的指定更新所需的commander例如privatestaticOleDbDataAdapterCreateCustomerAdapter(OleDbConnectionconnection){OleDbDataAdapterdataAdapter=newOleDbDataAdapter();OleDbCommandcommand;OleDbParameterparameter;//CreatetheSelectCommand.command=newOleDbCommand("SELECT*FROMdbo.Customers"+"WHERECountry=?ANDCity=?",connection);command.Parameters.Add("Country",OleDbType.VarChar,15);command.Parameters.Add("City",OleDbType.VarChar,15);dataAdapter.SelectCommand=command;//CreatetheUpdateCommand.command=newOleDbCommand("UPDATEdbo.CustomersSETCustomerID=?,CompanyName=?"+"WHERECustomerID=?",connection);command.Parameters.Add("CustomerID",OleDbType.Char,5,"CustomerID");command.Parameters.Add("CompanyName",OleDbType.VarChar,40,"CompanyName");parameter=command.Parameters.Add("oldCustomerID",OleDbType.Char,5,"CustomerID");parameter.SourceVersion=DataRowVersion.Original;dataAdapter.UpdateCommand=command;returndataAdapter;}

时间: 2025-01-07 07:10:25

datagridview保存数据出现问题的相关文章

wcf-WCF框架下客户端DataGridView的数据怎样提交保存

问题描述 WCF框架下客户端DataGridView的数据怎样提交保存 Microsoft MSDN中介绍了 "演练:创建 N 层数据应用程序".https://msdn.microsoft.com/zh-cn/library/bb384570.aspx 但是,没有介绍如何将修改后数据保存到数据库的方法.请教怎么做? 解决方案 ado.net http://www.cnblogs.com/sydeveloper/archive/2013/03/06/2909739.html entit

求救!c#datagridview已绑定ACCESS数据库,现在对datagridview中数据进行更改,通过保存按钮更新到数据库!

问题描述 如题.这是按钮代码privatevoidbutton2_Click(objectsender,EventArgse){if(MessageBox.Show("是否保存数据?","系统消息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question,MessageBoxDefaultButton.Button2)==DialogResult.OK){dataGridView1.EndEdit();//重新用表格数据

DataGridView拷贝数据到Excel

问题描述 DataGridView拷贝数据到Excel资源文件在: 解决方案 解决方案二:将GridView数据拷贝到Excel//加载绑定事件privatevoidFrm_Main_Load(objectsender,EventArgse){dgv_Message.DataSource=newList<Fruit>(){//绑定数据集合newFruit(){Name="海参",Price=30},newFruit(){Name="鲍鱼",Price=4

dataGiveView中保存数据

问题描述 帮忙:想在DataGridView添加数据,之后保存添加的信息怎么办? 解决方案 解决方案二:加一个button按钮列,点击保存该行数据.也可以把button按钮放在datagridview外,点击保存全部解决方案三:你想保存到库里还是在grid里显示..解决方案四:lz肯定要保存在数据库里啊,晕,1楼正解解决方案五:楼主已经工作了吧解决方案六:保存到数据库解决方案七:加一个按钮,根据.按钮事件,取到,gridview中的数据,cells[x].text就可以了.对上相应的变量,放到函

ASP.NET:使用DataTable对象保存数据

asp.net|对象|数据 DataSet对象是数据表的集合(DataTables),在一个DataSet中可以存放多个DataTable.作为数据源,DataSet可以提供多个数据表,在DataSet中可以进行表的关联操作工作,同样,每个DataTable对象也可以作为数据源.下面这个实例演示了DataTable对象如何提供给DropDownList控件提供数据源的.     新建一个Web窗体,命名为DataTable_Simple.aspx,添加两个DropDownList控件,设计窗口如

Flash MX本地保存数据的二种方法

数据 谈到计算机操作,往往就不了数据操作,最基本的数据操作就是读取和保存数据.Flash程序很多时候也会用到数据操作,比如说载入外部文件就是读取数据.然而Flash保存数据的能力是很有限的.Flash 5时我们还可以用fscommond来本地保存外部文本文件,到了FlashMX时代,出于对安全因素的考虑,Micromedia取消了这个功能. 那是不是我们就无法用Flash MX保存数据了呢?回答是否定的,这里我就系统给大家介绍用Flash MX本地保存外部数据的三种方法. 方法一:使用MMsav

关闭窗口时保存数据的办法

数据 <SCRIPT language="javascript"> function IfWindowClosed() { var win = null; try { window.opener.name = "ss"; if ( window.opener.name != "ss" ) { win = window.open("quit.asp","","width=100,heig

asp 保存数据与批量删除数据方法

文章来提供一篇asp教程 保存数据与批量删除数据方法哦,在asp中保存数据到数据库教程也有很多种方法,我们只说了二种,同时删除数据也有很多方法,单条删除,批量删除,会用到for ,in来 实现. 注意:不同的字段名用英文逗号隔开,且不支持星号 表名处输入要查询的表名:如:table1 前台表单页面: 主要是注意input字段的name属性. asp下常用的添加数据代码是: 通过adodb.recordset 优点是:数据库入库比较简单,不用考虑单引号问题.不容易出现错误. 代码如下: usern

Android保存数据

Android保存数据的方式,每种存储方式都各有不同,有如下四种: 1.Shared Preferences:主要用于保存程序的系统配置信息.用来存储"key-values paires".一般用于保存程序启动时设定的信息,以便在程序下一次启动时继续保留前一次设定的信息. 2.Files:用文件的形式保存信息.可以通过对文件的读写来获取或保存相关信息. 3.SQLite:用数据库的形式保存信息.SQLite是一个开源的数据库 系统. 4.NetWork:将数据保存于网络. 1. Pre