zoukankan
html css js c++ java
/*把更改写回数据库DataAdapter.Update*/
把更改写回数据库DataAdapter.Update
/**/
/*
把更改写回数据库DataAdapter.Update
*/
/**/
/*
Important: 这种在DataTable中进行的插入、更新和删除并不会自动写回数据库
*/
SqlDataAdapter adapter
=
new
SqlDataAdapter(strSql, strConn);
SqlCommandBuilder builder
=
new
SqlCommandBuilder(adapter);
DataSet ds
=
new
DataSet();
adapter.Fill(ds,
"
Titles
"
);
//
插入记录
DataTable table
=
ds.Tables[
"
Titles
"
];
DataRow row
=
table.NewRow();
row[
"
Title_id
"
]
=
"
JP1001
"
;
row[
"
title
"
]
=
"
programming Microsoft .NET
"
;
row[
"
price
"
]
=
59.99m
;
row[
"
ytd_sales
"
]
=
100000
;
row[
"
type
"
]
=
"
business
"
;
row[
"
pubdate
"
]
=
new
DateTime(
2002
,
5
,
1
);
table.Rows.Add(row);
//
更新数据库
adapter.Update(table);
/**/
/*
DataAdapter的Update方法检查传递给表的每一条记录,把自从上次更新
* (或自从上次调用table的AcceptChanges方法后)被插入、更新或删除的行
* 写回数据库。如果DataSet中包含了多个被修改的DataTable,就把整个DataSet
* 传给Update方法: adapter.Update(ds),所有改变会被一次性写回。
*/
/**/
/*
* 哦,还有许多演示DataAdapter.Update的用法的示例,演示了通过调用名为GetChanges
* 的方法创建一个只含有被插入、更新或删除行的新的临时DataSet或者DataTable
* ,然后把delta传递给DataAdapter.Update,如下:
* //更新数据库
* DataTable delta = table.GetChanges();
* adapter.Update(delta);
* 这种方法的确好用,但不是必需的。Update会忽略包含已修改和未修改的行的DataTable中
* 未被修改的行。
* 当要控制写回数据库中的更改的内容的顺序时,GetChanges方法发挥作用,
* 如果想在Insert前面执行Delete,以避免主键重复错误,应该这样做:
*/
//
DataRowState ---->enum System.Data.DataRowState
//
DataRowState.Deleted---->the row was deleted
//
using the row.Delete()
DataTable deletes
=
table.GetChanges(DataRowState.Deleted);
adapter.Update(deletes);
DataTable inserts
=
table.GetChanges(DataRowState.Added);
adapter.Update(inserts);
/**/
/*
GetChanges的另一个用处是,
* 当更新不是在本地执行时,把机器间的数据传输量减到最小,
* 只传递被改变的DataSet或DataTable比传递整个DataSet或DataTable更高效
*/
查看全文
相关阅读:
SCCM2012 R2实战系列之七:软件分发(exe)
man 手册--nc
挂载虚拟机磁盘文件
bond模式详解
Windows下计算md5值
man手册--iostat
mount---挂载文件系统
Linux-swap分区
sync---强制将被改变的内容立刻写入磁盘
vmstat---有关进程、虚存、页面交换空间及 CPU信息
原文地址:https://www.cnblogs.com/simhare/p/826466.html
最新文章
ZT Android4.2关于bluetooth在HAL层的分析(1)
ZT Linux系统环境下的Socket编程详细解析
ZT 匿名内存映射
ZT 获得/修改共享互斥量属性:pthread_mutexattr_t
vxworks
ZT android -- 蓝牙 bluetooth (三)搜索蓝牙
Linux中/目录扩容
Linux常用命令1-50(持续更新中)
zabbix 3.4新功能值解析——Preprocessing预处理
Zabbix故障总结(持续更新)
热门文章
Centos7下安装Python3.7.2
生产环境中配置参数(持续更新中)
Centos7.3安装部署Zabbix3.4.15(成功可用)
一次线上zabbix server 挂掉的思考
SCCM 2012 R2实战系列之十三:辅助站点部署
SCCM2012 R2实战系列之十二:解决OSD分发时间过长的问题
SCCM2012 R2实战系列之十一:解决OSD分发Windows7 系统盘盘符为’D’问题
SCCM2012 R2实战系列之十:解决WDS服务无法启动问题(错误1067:进程意外终止)
SCCM2012 R2实战系列之九:OSD(中)--捕获镜像
SCCM 2012 R2实战系列之八:OSD(上)--分发全新Windows7系统
Copyright © 2011-2022 走看看