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
随机推荐
- 归并排序 ALDS1_5_B:Merge Sort
Merge Sort Write a program of a Merge Sort algorithm implemented by the following pseudocode. You sh ...
- [Python]python去除两个txt文件的重复词汇 python 2020.2.10
两个txt文件词汇,用换行符分隔.可以用代码将要处理的文件去掉另一个文件所包含的重复内容. 如: a.txt内容为: 衡山 泰山 西湖 紫禁城 b.txt内容为: 泰山 衡山 长白山 张三丰 将a.t ...
- Spring Boot整合Freemarker
一.首先导入依赖 <!-- 添加freemarker模版的依赖 --> <dependency> <groupId>org.springframework. ...
- AspxGridView 客户端点击获取对应的列值
Html 内容: <dx:ASPxGridView ID="ASPxGridViewCluster" runat="server" Width=" ...
- execute、executeUpdate、executeQuery的区别
链接:https://blog.csdn.net/u012501054/article/details/80323176 链接:https://blog.csdn.net/CNAHYZ/article ...
- DE1_MSEL
基础的一般实验:01001(现在用的)或10010 马上换linux,做个记录: sd卡启动linux系统时,启动开关0至4位拨至00000
- AcWing 891. Nim游戏
//a1 ^ a2 ^ ··· ^ an = 0 –>先手必败: //a1 ^ a2 ^ ··· ^ an != 0 –>先手必胜: #include<iostream> us ...
- 如何面试QA(面试官角度)
面试是一对一 或者多对一的沟通,是和候选人 互相交换信息.平等的. 面试的目标是选择和雇佣最适合的人选.是为了完成组织目标.协助人力判断候选人是否合适空缺职位. 面试类型: (1)预判面试(查看简历后 ...
- 【网页浏览】关键字搜索PIXIV插图
可以在线搜索Pixiv(P站)的插图 传送链接
- EF中的实体关系
导航属性的理解: 指数据库的表所对应的实体类,除了要有每个字段所对应的属性之外,还应该有一个与之有关联的表的属性,一对一的关系就是关联表的类型,一对多的关系就是关联表的类型的ICollection的泛 ...