DataSet自动生成updatacommand更新数据库出错的问题

问题描述

我已经设置了主键了,而且是自增的保证唯一,程序里面也再次设置了一次如:DataColumn[]dcs={dt.Columns["ID"]};dt.PrimaryKey=dcs;但是,TM就是出错啊出错,那个“对于不返回任何键列信息的SelectCommand,不支持UpdateCommand的动态SQL生成。”错误不散就是不散,我不想去写SQL那句了,不是懒,就是拼凑的方法真心太low了,还要考虑那么多IF,不如Dataset那句dt.updata();来得直接啊stringSQL_Refresh="select*from报名表whereID='"+ID.ToString()+"'";SqlCommandcmd=newSqlCommand(SQL_Refresh,cnn);DataSetData_all=newDataSet();SqlDataAdapteradp=newSqlDataAdapter(cmd);SqlCommandBuilderscb=newSqlCommandBuilder(adp);adp.Fill(Data_all,"报名表");DataTabledt=Data_all.Tables["报名表"];if(Data_all==null){return;}DataColumn[]dcs={dt.Columns["ID"]};dt.PrimaryKey=dcs;DataRow[]drs=dt.Select("ID="+ID.ToString());DataRowdr=drs[0];dr.BeginEdit();if(StudentName.Text!=_StudentName){dr["姓名"]=StudentName.Text;for(inti=0;i<4;i++){if(File.Exists(path_Pre+S[i]+".tif")){ComputerMyComputer=newComputer();MyComputer.FileSystem.RenameFile(path_Pre+S[i]+".tif",path_Real+S[i]+".tif");}}}dr["性别"]=Sex.Text;dr["出生日期"]=BornDate.Text;dr["户籍性质"]=Citizenkind.Text;dr["民族"]=Nation.Text;dr["毕业学校"]=School.Text;if(DetailSite.Text!=""){dr["行政区划代码"]=SiteCode;dr["联系地址"]=FullSite.Substring(Province.Text.Length+Shiji.Text.Length);dr["完全详细地址"]=FullSite;dr["证件号码"]=Identify.Text;dr["省级名称"]=Province.Text;dr["地州级名称"]=Shiji.Text;dr["县级名称"]=Town.Text;}dr["家长电话"]=ParentsPhone.Text;if(Selfphone.Text!=""){dr["学生电话"]=Selfphone.Text;}dr["家长姓名"]=Parents.Text;dr["所报专业代码"]=Major.Text;//dr["报名时间"]=dateTimePicker1.Text;dr["书费"]=Bookcost.Text;dr["生活费"]=livecost.Text;if(File.Exists(paths_fore+paths_or+"_sfz_A.tif")){dr["有无身份证正面"]="1";}else{dr["有无身份证正面"]="0";}if(File.Exists(paths_fore+paths_or+"_sfz_B.tif")){dr["有无身份证背面"]="1";}else{dr["有无身份证背面"]="0";}if(File.Exists(paths_fore+paths_or+"_hk_A.tif")){dr["有无户口首页"]="1";}else{dr["有无户口首页"]="0";}if(File.Exists(paths_fore+paths_or+"_hk_B.tif")){dr["有无户口本人页"]="1";}else{dr["有无户口本人页"]="0";}if(File.Exists(paths_fore+paths_or+"_pkzm.tif")){dr["有无贫困证明"]="1";}else{dr["有无贫困证明"]="0";}dr.EndEdit();try{adp.Update(Data_all,"报名表");Data_all.Clear();}catch(SqlExceptionexp){MessageBox.Show(exp.Message.ToString());}

解决方案

时间: 2024-10-21 18:29:30

DataSet自动生成updatacommand更新数据库出错的问题的相关文章

dataset-DataSet自动生成updatacommand更新数据库出错的问题

问题描述 DataSet自动生成updatacommand更新数据库出错的问题 我已经设置了主键了,而且是自增的保证唯一,程序里面也再次设置了一次如: DataColumn[] dcs = { dt.Columns["ID"] }; dt.PrimaryKey = dcs; 但是,TM就是出错啊出错,那个" 对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成."错误不散就是不散,我不想去写SQL那句了,不是

DataSet.AcceptChanges()后 SqlDataAdapter.Update(DataSet)时数据无法更新数据库 希望路过高人指点 谢谢了

问题描述 DataSet.AcceptChanges()后SqlDataAdapter.Update(DataSet)时数据无法更新数据库希望路过高人指点谢谢了 解决方案 解决方案二:自己顶解决方案三:有没异常出现?解决方案四:或是DataSet.HasChanges=false?解决方案五:没有任何异常解决方案六:我是你下面的并发冲突的贴,还没解决,头痛.DataSet.AcceptChanges()好像放在update的后面.解决方案七:放在update后面就起不到作用了我是GridView

根据数据库自动生成INSERT/UPDATE更新语句

数据|数据库|语句 在编写程序中,写添加和更新SQL语句是一个比较烦琐的过程,特别是在表结构比较复杂的时候这个程序主要是根据数据表格式自动生成添加/更新的SQL语句,然后由程序员直接加入到程序中,方便编程 下面是文件,方法建立一个单独的文件,按照下面的说明建立相关文件,运行即可index.php     索引文件config.php    配置文件,转换get/post数据addxxx.php    根据提交表格数据生成SQL语句addxxx2.php    根据数据库表信息生成SQL语句,配置

使用 DataAdapter 和 DataSet 更新数据库 [C#]

DataAdapter 的 Update 方法可调用来将 DataSet 中的更改解析回数据源.与 Fill 方法类似,Update 方法将 DataSet 的实例和可选的 DataTable 对象或 DataTable 名称用作参数.DataSet 实例是包含已作出的更改的 DataSet,而 DataTable 标识从其中检索更改的表. 当调用 Update 方法时,DataAdapter 将分析已作出的更改并执行相应的命令(INSERT.UPDATE 或 DELETE).当 DataAda

c#-C# dataset 新建table 并更新至数据库

问题描述 C# dataset 新建table 并更新至数据库 如题,本人初学者.在IDE自动生成的dataset.tables中Add新的table,却不知道如何将这个行为更新到dataset连接的数据库中. 解决方案 你可以baidu一下 C# 如何调用 ADO.NET来进行数据库的 CRUD操作 解决方案二: 谢谢你,昨天被IDE的dataset搞晕了,这个问题问的也不好,现在已经放弃了,打算自己好好写自己的适配类.

求助!!!!dataset更新数据库问题,使用update出现insert语句问题????

问题描述 代码如下:protectedvoidupdata(){OleDbCommandBuilderbuilder=newOleDbCommandBuilder(da);da.InsertCommand=builder.GetInsertCommand();da.UpdateCommand=builder.GetUpdateCommand();da.DeleteCommand=builder.GetDeleteCommand();da.Update(ds,"comment");ds.

使用 DataAdapter 和 DataSet 更新数据库

数据|数据库 DbDataAdapter调用 Update 方法时,DataAdapter 将分析已作出的更改并执行相应的命令(INSERT .UPDATE 或 DELETE).当 DataAdapter 遇到对 DataRow 的更改时,它将使用 InsertCommand. UpdateCommand 或 DeleteCommand 来处理该更改.这样,您就可以通过在设计时指定命令语法并在可能 时通过使用存储过程来尽量提高 ADO.NET 应用程序的性能.在调用 Update 之前,必须显式

如何使用DataSet更新数据库??

问题描述 我想通过DataSet更新数据库,可是程序执行后没起作用,请高手指点一下,看我哪里弄错了.谢谢我的程序很简单,整个代码如下:(我是想把tab1表里的数据全部覆盖到tab2里,这两个表在两个数据库中)usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data;usingSystem.Data.Ora

从数据库中读取数据自动生成XML

xml|生成xml|数据|数据库 Program Ex:================= string sql = "SELECT id,name FROM content FOR XML AUTO,XMLDATA";SqlConnection conn =new SqlConnection( System.Configuration.ConfigurationSettings.AppSettings["testDataBase"] );SqlCommand cm