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更高效
*/
查看全文
相关阅读:
会议管理要素
项目管理—沟通管理
项目管理的五大过程组和十大知识领域
fastjson $ref引用问题
项目管理——问题解决方法
windows服务器添加磁盘后,提示The disk is offline because of policy set by an administrator的解决办法
关于bat/cmd中转义符的使用
关于bat中日期时间字符串的格式化
关于windows服务器的Security安全类日志的导出
关于windows服务器创建一个ps1脚本的周期性定时任务
原文地址:https://www.cnblogs.com/simhare/p/826466.html
最新文章
【Vue】参照elementui编写自定义的vue组件
input 的 compositionstart 和 compositionend 事件(禁止非直接输入)
JavaScript之事件循环,宏任务与微任务
redis主从
DevOps
Junit-jupiter-api 和 junit-jupiter-engine 的区别是什么
Maven 依赖中的 dependencies 和 dependencyManagement
Jackson 的 JsonManagedReference 和 JsonBackReference 注解
CentOS 8 Apache 安装后 SSL 重定向提示证书错误
Spring boot 的彩色日志
热门文章
IntelliJ IDEA 重做快捷键和配置哲学
JUnit 5 测试 Spring 引擎的时候提示 junit-vintage 错误
IntelliJ IDEA 的 Spring 项目如何查看 @Value 的配置和值
Maven 编译拷贝资源的时候提示 UTF-8 编码信息
Azure AD 获得 Token 的时候得到 invalid_scope 的错误
lambda表达式操作map
Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant type: 18
Java8 lambda表达式概念以及使用lambda操作list集合
项目管理
冰山模型
Copyright © 2011-2022 走看看