SQL通过Datatable更新数据库表内容
SQL通过Datatable更新数据库表内容
//要注意的一点是在Select语句中要选择的列中必须包含主键的列,此外不支持多表连接查询
DataTable dt = new DataTable();
using (SqlConnection sqlConn = new SqlConnection("********"))
{
//先取出从数据库中取出Datatable
SqlCommand sqlcmd = new SqlCommand("select * from ExecuteReservation", sqlConn);
sqlConn.Open();
SqlDataReader sqlReader = null;
sqlReader = sqlcmd.ExecuteReader();
dt.Load(sqlReader); //修改一条记录
dt.Rows[0]["VersionInfo"] = "5.0"; //以下三行代码就是把上面更改的数据更新到数据库中
SqlDataAdapter sda = new SqlDataAdapter(sqlcmd);
SqlCommandBuilder sqlcmdB = new SqlCommandBuilder(sda);
sda.Update(dt);
}
//以上如果不使用SQL语句的话,也可以使用存储过程,修改成以下代码即可
SqlCommand sqlcmd = new SqlCommand("对应的存储过程名", sqlConn);
sqlcmd.CommandType = CommandType.StoredProcedure;
//查询出来的DataTable是连接表的集合,更新的时候可以使用UpdateCommand来完成,代码如下
//存储过程如下
ALTER PROCEDURE [dbo].[SelectExe]
@versioninfo nvarchar(50),
@ID int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
update dbo.ExecuteReservation set versioninfo=@versioninfo where ID=@ID
END
————————————————————————————————————————————————————————————————————
SqlCommand newCmd = new SqlCommand("SelectExe", sqlConn);
newCmd.CommandType = CommandType.StoredProcedure;
newCmd.Parameters.Add(new SqlParameter("@VersionInfo", SqlDbType.VarChar));
newCmd.Parameters[0].SourceColumn = "VersionInfo";
newCmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.Int));
newCmd.Parameters[1].SourceColumn = "ID";
//修改记录
dt.Rows[0]["VersionInfo"] = "45";
dt.Rows[1]["VersionInfo"] = "56";
SqlDataAdapter sda = new SqlDataAdapter( );
sda.UpdateCommand = newCmd;
//随便新建一个Datatable,将数据更新到指定的表中会需要设置InsertCommand,否则会报“Update requires a valid InsertCommand when passed DataRow collection with new rows.”
sda.InsertCommand = newcmd;
sda.Update(dt);
SQL通过Datatable更新数据库表内容的更多相关文章
- SQL语句的使用,SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据
SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法. 但是 SQL 语言也包含用于更新. ...
- SQL技巧两则:选择一个表的字段插入另一个表,根据其它表的字段更新本表内容
最近,在作django数据表迁移时用到的. 因为在django中,我把本来一个字符型字段,更改成了外键, 于是,哦喝~~~字符型字段相当于被删除了, 为了能导入这些字段的外键信息,于是出此下策. 其实 ...
- C#使用DataSet Datatable更新数据库的三种实现方法
本文以实例形式讲述了使用DataSet Datatable更新数据库的三种实现方法,包括CommandBuilder 方法.DataAdapter 更新数据源以及使用sql语句更新.分享给大家供大家参 ...
- 用DataSet方式更新数据库表
/* 用DataSet的方式更新数据库表 * 注意:用DataSet更新数据库表的时候,该表必须指定主键或者是唯一列 */ string connString = "Data Source= ...
- powdesingner 更新数据库表结构
1.连接数据库 2更新数据库表结构
- 第二百七十八节,MySQL数据库-表内容操作
MySQL数据库-表内容操作 1.表内容增加 insert into 表 (列名,列名...) values (值,值,值...); 添加表内容添加一条数据 insert into 表 (列名,列名. ...
- SqlDataAdapter 批量更新数据库表
在数据库中批量插入数据许多人都已经了解了,就是使用.net 中的SqlBulkCopy对象(MSDN详解).我们在做评教系统的时候使用过这个对象,它能将数据表批量导入到数据库中,效率比单条插入数据效率 ...
- 数据库(SQL Server)管理数据库表~新奇之处
说到“数据库”,我总有一种莫名的感觉,在刚刚接触到的数据库中就让我似懂非懂渡过着,于是思考着.于是在冷静的时空中让我回想到了很多的知识,不知你们是怎样过来的,真心希望我的这篇数据库总结能够让我们都有一 ...
- MVC Code First 当实体类发生变化时,如何自动更新数据库表
下面做一个例子,Category是用户新建的一个实体类,然后添加一个字段,然后让数据库中的Category表也添加一个字段 1.Category.cs
随机推荐
- flex布局 居中
display:flex;justify-content: center;检查侧轴是否居中,比如古代竖着写字,检查字是否在每条竹简的中央. display:flex;align-items: cent ...
- linux--后端项目部署
nginx + uwsgi + crm + mysql + virtualenv + supervisor项目部署 1.后端整起,用uwsgi启动crm 2.创建一个新的虚拟环境,用于运行crm新业务 ...
- Wannafly Camp 2020 Day 7H 游戏 - 欧拉筛,GCD
忘记特判 \(1\) ,血了一地 听说 \(O(n^2 \log n)\) 能过? #include <bits/stdc++.h> #define int long long using ...
- Spring域属性自动注入byName和byType
byName 方式 <!--byName约束:bean当中的域属性名必须跟所注入bean的id相同--> <bean id="student" class=&qu ...
- 浅析网页meta标签中X-UA-Compatible属性的使用
今天有一个做开发的朋友突然问你知道很多网站上面加入的X-UA-Compatible属性的意义么?其实这个在以前还专门花了一点时间来验证我自己的想法,结果也确实如自己所预想的那样,八九不离十,当然有一点 ...
- eclipse无法启动报错、打开Eclipse报错、Eclipse无法打开
有时候在新的电脑中安装Eclipse的时候总会报一些错误,要么就是环境变量没配好.要么就是JDK没装.要么就是JDK位数与Eclipse位数不同(版本),反正会报一些奇奇怪怪恶心的问题,我第一次装的时 ...
- CSS的快速入门
CSS的快速入门 1.CSS要学习的内容主要包括 1. CSS概念和快速入门 2.CSS选择器(重点+难点) 3.美化网页(文字.阴影.超链接.列表.渐变,等) 4.盒子模型 5.浮动 6.定位 2. ...
- LaTeX竖立公式符号
1.LaTeX技巧668:LaTeX如何实现直立积分号 \usepackage{amsmath,amssymb} \DeclareSymbolFont{EulerExtension}{U}{euex} ...
- SpringBoot开发快速入门
SpringBoot开发快速入门 目录 一.Spring Boot 入门 1.Spring Boot 简介 2.微服务 3.环境准备 1.maven设置: 2.IDEA设置 4.Spring Boot ...
- Js script type="text/template"的使用简单说明
<script type="text/template" id="treeTableTpl"> <tr id="{{row.id}} ...