请问如何使用dataset来更新数据库?

问题描述

我在程序中已经有一个存在数据的DATASET,而DATASET中的唯一一个表结构与将要更新的SQLSERVER中的表TEST1是结构一致的我想要将这个DATASET中的数据直接更新到数据库表TEST1中,请问该如何做啊?

解决方案

解决方案二:
System.Data.SqlClient.SqlBulkCopy或SqlDataAdapter.Update()
解决方案三:
我的写法是这样的,SqlConnectionobjConn=newSqlConnection(sConnectionString);objConn.Open();SqlDataAdapterda=newSqlDataAdapter();SqlCommandBuildercb=newSqlCommandBuilder(da)da.Update(dataSet,"TEST1");但执行时报异常错误:“Update无法找到TableMapping['TEST1']或DataTable"TEST1"”请问是怎么回事啊????引用1楼longfei_liuweitao的回复:

System.Data.SqlClient.SqlBulkCopy或SqlDataAdapter.Update()

解决方案四:
你绑定数据的时候也需要是这样的:SqlDataAdapter.Fill(dataSet,"TEST1");
解决方案五:
1、SqlConnectionobjConn=newSqlConnection(sConnectionString);objConn.Open();SqlDataAdapterda=newSqlDataAdapter();da.SelectCommand=newSqlCommand("select*fromTableName");SqlCommandBuildercb=newSqlCommandBuilder(da)da.Update(dataSet,"TEST1");建议用SqlBulkCopy:SqlConnectionsqlConnect=newSqlConnection;sqlConnect.Open();SqlBulkCopybcp=newSqlBulkCopy(sqlConnect);bcp.DestinationTableName=tableName;//tableName数据库表名bcp.WriteToServer(dt);//dt包含数据的DataTable
解决方案六:
da.Update(dataSet,"TEST1");中的dataSet是由另外一个函数返回的dataSet已经是有数据的,还要再FILL一次吗?引用3楼viki117的回复:

你绑定数据的时候也需要是这样的:SqlDataAdapter.Fill(dataSet,"TEST1");

解决方案七:
SqlBulkCopy比SqlDataAdapter要快,为什么一定要用SqlDataAdapter呢?
解决方案八:
SqlBulkCopy要USING哪个空间呢?我是用.NET2003引用6楼longfei_liuweitao的回复:

SqlBulkCopy比SqlDataAdapter要快,为什么一定要用SqlDataAdapter呢?

解决方案九:
da.Update(dataSet,"TEST1");设置正确之后执行没有报错了但在数据库里查询发现数据根本没入库,是什么原因啊?引用4楼longfei_liuweitao的回复:

1、SqlConnectionobjConn=newSqlConnection(sConnectionString);objConn.Open();SqlDataAdapterda=newSqlDataAdapter();da.SelectCommand=newSqlCommand("select*fromTableName");SqlCommandBuildercb=newSqlCommandBuilder(da)da.Update(dataSet,"TEST1");建议用SqlBulkCopy:SqlConnectionsqlConnect=newSqlConnection;sqlConnect.Open();SqlBulkCopybcp=newSqlBulkC…

解决方案十:
难道你还没看明白吗?da.Update(dataSet,"TEST1");是将表"TEST1"更新到数据库中,也就是说在数据库中新建一个TEST1的表,这和你的要求是大相径庭的,4楼的第二种方案才是你的最佳选择,是将数据集更新到特定的表中
解决方案十一:
你们一直在说的是数据表记录的添加,可是楼主问的是更新的问题。我也很想知道,对于数据表中已经存在的数据,用SqlBulkCopy能进行更新操作吗?
解决方案十二:
去看看c#技术高级编程那本书或ado.net高级编程

时间: 2024-10-21 18:05:04

请问如何使用dataset来更新数据库?的相关文章

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

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

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

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

datagridview-下面通过dataset更新数据库,代码哪里有错误,各位大哥,我都纠结一天了(winform)

问题描述 下面通过dataset更新数据库,代码哪里有错误,各位大哥,我都纠结一天了(winform) //更新数据源的方法 private int UpdateByDataSet(DataSet ds, string strTblName, string strconn) { // dgvHead.Columns["pid"].Visible = true; //dgvHead.Columns["fNo"].Visible = true; //dgvHead.Co

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

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

dataset 或 datatable merge() 后不能更新数据库是什么原因

问题描述 dataset或datatablemerge()后不能更新数据库是什么原因 解决方案 解决方案二:没说明白解决方案三:我有两个table,分别是t1,t2,我想将t2合并到t1中,如果一个字段一个字段地写,合并后可以更新t1所在的数据库,如果用t1.merge()或t1.ImportRow()则不能更新数据库,不知为何?请指教!

从数据集更新数据库

数据|数据库 可将 DataSet 视为从数据库检索出的数据的内存内缓存.DataSet 由表.关系和约束的集合组成. private System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1; private System.Data.SqlClient.SqlConnection sqlConnection1; private System.Data.DataSet dataset=new DataSet();private System.Dat

DataAdapter是如何更新数据库数据的?

数据|数据库 最近刚改完一个以前做的MIS,用户的要求真是越来越刁钻了,总算是完事了.又可以操练VB.NET了!!! 在ADO.NET对象模型中, DataAdapter对象的功能真是让人感到欣喜! DataAdapter对象不仅只是捕获数据的功能,事实上它还可以帮助你将更新后的DataSet以批次的方式再写回后台数据库,而且还相当简单,只要调入Update方法,并传入准备更新的DataSet及DataTable即可. 那么DataAdapter是如何将改动数据写回数据库的呢? 了解数据库处理原

C#连接数据库和更新数据库

对数据库的操作总体可以分为两类:查询(select)和更新(insert,delete,update).为什么这样来分 呢?仔细看看两类的区别,select只是从数据库中将数据拿出来使用,而其余三者都会对数据库的物理数 据进行修改.capucivar在上篇文章中已经对数据库的查询操作进行了详细的阐述.这篇文章将接着阐述 更新数据. 更新数据库信息首先是连接数据库,这个capucivar在<C#连接数据库之查询数据库>中已有介绍了. 对数据库的更新需要一个对象:OleDbCommand.该对象表

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

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