Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >如何用新的和修改的记录更新数据库?

如何用新的和修改的记录更新数据库?
EN

Stack Overflow用户
提问于 2013-03-13 23:08:39
回答 1查看 176关注 0票数 0

我创建了一个database (从XML读取和填充数据)。我是用SqlBulkCopy做的。但是,场景是每当XML被更新(可能是插入的新记录或修改的现有记录)...thus数据库也应该更新,所以我已经创建了一个解决方案,首先所有表的所有记录都应该在数据库中删除&再次执行SqlBulkCopy,以便数据可以被更新.

但似乎是最糟糕的方式。

是否有任何方法只更新这些记录,如果源XML有任何新记录,也需要插入新记录?

我也尝试过一些dataset合并操作,但是我无法找到正确的方法来使用它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-13 23:27:53

试试这个:

Serialize the xml添加到类对象中--您可以将其添加为该类对象的集合,即List<object>。然后通过C# Stored Procedure调用传递xml的唯一ids (现在是序列化的记录)。可以循环遍历集合,并使用存储过程匹配每个id。如果xml的记录不太多,这可能会影响性能。

在存储过程中执行IF SELECT Count(*)... > 0。如果它返回大于0的值,则存在记录:

代码语言:javascript
代码运行次数:0
复制
IF(SELECT COUNT(*) FROM table where uniqueid = @id) > 0)
BEGIN
    UPDATE table ... WHERE uniqueid = @id
END
ELSE
BEGIN
   INSERT INTO table (...) VALUES(...)
END 

或者使用MERGE INTO,这也是很好的使用。

让存储过程返回一个值或boolen,以指示数据库已成功更新。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15403204

复制
相关文章
Typecho主题Handsome修改记录---(持续更新)
usr/themes/handsome/component/footer.php删代码至如图所示
BinGo_Blog
2022/11/01
1.2K0
更新的同时获取被更新的记录的id
更新的同时获取被更新的记录的id 一般我的写法是 select auto_id into v_id from history where state=1 and rownum=1; update history set state=0 where auto_id=v_id 能不能把两条语句合成一条写呀 可以了 UPDATE BIZ_WORKFLOW SET SEND_MARK=1 WHERE AUTO_ID=ID RETURN AUTO_ID INTO ID ;
阿新
2018/04/12
1.7K0
django admin 实现 增加记录 和 修改记录 展现不同的表单
提供一个参考,具体逻辑要看具体情况。本质就是根据条件展示不同的表单内容(注意表单必填项字段,保存时要记得传值)。
卓越笔记
2023/02/18
1.2K0
线上mongodb 数据库用户到期时间修改的操作记录
登陆版权数据库,显示"此用户已到期",数据库使用的是mongodb,顾 需要将此用户的到期时间延长。 解决过程: 1)到网站对应tomcat配置里找出等里mongodb的信息(mongodb 的库、登
洗尽了浮华
2018/01/22
1.5K0
线上mongodb 数据库用户到期时间修改的操作记录
PHP数据库的查询和更新(二)
在PHP中,您可以使用UPDATE语句来更新数据库。以下是一个MySQLi更新示例:
堕落飞鸟
2023/04/27
1.3K0
MySql数据库Update批量更新与批量更新多条记录的不同值实现方法
这里注意 ‘other_values' 是一个逗号(,)分隔的字符串,如:1,2,3
Lansonli
2021/10/09
21.6K0
访问记录和回忆相片修改
今天完成的任务相对来说非常的轻松,添加了用户访问栏目的记录、相片名字描述的修改以及专辑的封面名字修改。
时光潜流
2023/10/22
1040
PHP数据库的查询和更新(一)
在PHP中,您可以使用SELECT语句来查询数据库。以下是一个MySQLi查询示例:
堕落飞鸟
2023/04/27
1.4K0
SVN如何查看修改的文件记录
主要是有四个命令,svn log用来展示svn 的版本作者、日期、路径等等;svn diff,用来显示特定修改的行级详细信息;svn cat,取得在特定版本的某文件显示在当前屏幕;svn  list,显示一个目录或某一版本存在的文件。
星哥玩云
2022/07/03
4.8K0
mysql修改数据库表和表中的字段的编码格式的修改
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
逝兮诚
2019/10/30
8.4K0
idea修改新的git地址
我们在项目变动中通常会遇到更换git地址情况,这里介绍一个在idea项目中简单更换git地址操作: 1、点击VCS; 2、点击Git; 3、点击Remotes;
故久
2019/09/29
3.1K0
idea修改新的git地址
记录修改Typecho日期格式的问题
我们在制作Typecho主题的时候,默认官方提供的日期格式是类似July 8, 2020,这样子的,我们可能需要其他的格式,比如2020-08-08。所以我们只需要找到对应模板中的日期格式就可以。这里简单记录一下,如果以后有需要的话可以使用到。
老蒋
2021/12/24
2K0
ddns脚本更新DNSPod的解析记录
前两天dnspod突然跟新了API,说是向下兼容旧的API,但是我软路由用的别人的脚本不能正常解析.
小柒吃地瓜
2020/04/23
4.9K0
4.表记录的更新操作
例如: insert…select插⼊结果集 注意:字段列表1与字段列表2的字段个数必须相同,且对应字段的数据类型尽量保持⼀致。例如:
卡伊德
2022/09/13
1.2K0
Ubuntu 14.04用户修改更新源和替换软件源的方法
给Ubuntu 14.04 LTS已经正式发布了,下面说下修改软件源、更新源的方法,一方面是升级出现问题,另一方面是官方的源对于国内用户来说比较慢,因为对unity桌面不熟悉,还是这里说一下。老鸟就不用看了。
用户8710643
2021/06/11
7430
FreeOpenWrite 更新记录
FreeOpenWrite 项目地址 gitee : https://gitee.com/msandrew/free-open-write github: https://github.com/AndrewAndrea/FreeOpenWrite 2021.3.8 更新 增加又拍云图床 修复上传图片失败的问题 完善逻辑,修复获取用户图床信息失败的问题 2021.3.5 更新 修复图床新增的错误 2021.3.4 更新 增加分发数据的高级筛选功能 修复获取文章已发布平台名的错误 修复一键发布功能,发布成功,提
andrew_a
2021/03/09
6940
FreeOpenWrite 更新记录
kali修改更新源(无法安全的用该源更新)
因为kali是国外的,所以一些软件你要下载的话得从国外的网站下载,就会很慢,国内一些公司或者学校提供了国内的下载地址,所以我们需要更换更新源
全栈程序员站长
2022/07/25
1.8K0
如何用 Python 和 Pandas 分析犯罪记录开放数据?
3月2日,应主办方 TechMill 的邀请,我参加了在达拉斯公共图书馆举行的“达拉斯-沃斯堡开放数据日”(DFW Open Data Day)。
王树义
2019/03/18
1.9K0
如何用 Python 和 Pandas 分析犯罪记录开放数据?
A记录和CNAME记录的区别
域名解析就是国际域名或者国内域名以及中文域名等域名申请后做的到IP地址的转换过程。IP地址是网路上标识您站点的数字地址,为了简单好记,采用域名来代替ip地址标识站点地址。域名的解析工作由DNS服务器完成。
云知识Online
2018/05/03
6.8K0
点击加载更多

相似问题

修改更新数据库记录的方法以创建新的数据库记录

11

保存新记录和更新记录的ADOQuery

12

新记录和更新记录的跟踪计数

20

基于新的和重复的记录更新数据库中的列

15

从表中获取新的和修改过的记录

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档