datatable更新到mysql_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);
datatable更新到mysql_SQL通过Datatable更新数据库表内容相关推荐
- 数据库表内容复制,表格复制。
1.不同用户之间的表数据复制 对于在一个数据库上的两个用户A和B,假如需要把A下表old的数据复制到B下的new,请使用权限足够的用户登入sqlplus: insert into B.new(sele ...
- mysql将数据库表内容(表内字段/属性)导出为excel表格
1.直接在查询语句中输入下面代码,请注意更换数据库名称和表名. SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_M ...
- sql 删除数据库表内容
1. 若要删除表中的所有行,则 TRUNCATE TABLE 语句是一种快速.无日志记录的方法.TRUNCATE TABLE 与不含有 WHERE 子句的 DELETE 语句在功能上相同.但是,TRU ...
- 如何从服务器上更新文件,如何更新服务器上的文件或数据库
如何更新服务器上的文件或数据库 内容精选 换一换 本教程旨在演示使用GDS(General Data Service)工具将远端服务器上的数据导入GaussDB(DWS)中的办法,帮助您学习如何通过G ...
- java实体类生成mysql表_springboot+mybatis通过实体类自动生成数据库表的方法
前言 本章介绍使用mybatis结合mysql数据库自动根据实体类生成相关的数据库表. 首先引入相关的pom包我这里使用的是springboot2.1.8.RELEASE的版本 org.mybatis ...
- 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (下)
在本文的前续篇章:如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上) 我们已经在系统里创建了两张数据库表 ZPERSON 和 ZMYORDERS, 并插入了对应的记录: 文章的 ...
- 使用SQL语句创建数据库和数据库表
使用SQL语句创建数据库和数据库表 内容如下: 创建数据库 创建数据库表 1.创建数据库的语句 创建数据库,需要创建数据库的数据文件和日志文件 其中一些语句含义如下: 语句 代表含义 name 逻辑文 ...
- Go 学习笔记(55)— Go 标准库 sql (初始化数据库、插入、更新、删除数据库表、单行查询、多行查询、事务处理)
1. 标准库说明 Go 的标准库中是没有数据库驱动,只提供了驱动接口,有很多第三方实现了驱动,我们这里选择 go-sql-driver 这个实现是目前使用最多的.github 地址是:https:// ...
- ef mysql自动更新_EF Core中怎么实现自动更新实体的属性值到数据库
我们在开发系统的时候,经常会遇到这种需求数据库表中的行被更新时需要自动更新某些列. 数据库 比如下面的Person表有一列UpdateTime,这列数据要求在行被更新后自动更新为系统的当前时间. Pe ...
最新文章
- 阚凯力:四核终端发展需软硬件相互促进
- mysql snmp agent_WebNMS SNMP Micro Agent for MySQL - MySQL Management Console
- WPF遍历当前容器中某种控件的方法
- “财务自由的15个阶段!说说你到哪个阶段了?”
- jq 在字符串中,去掉指定的元素
- Scrapy 爬虫框架入门案例详解
- 数字图像处理理论课件(清华大学计算机科学与技术系)
- matlab tiff 压缩方式,无法打开以这种方式压缩的tiff文件(2) - imageJ / FIJI
- Vue08---js动画与Velocity.js结合
- Python - poetry(4)管理环境
- Matplotlib绘制动图
- 不用深厚的数学功底也不用深厚的金融知识,用python也能炒股?
- 彻底卸载mac软件的方法,这样才删除干净哦
- [连接 Android ]-使用 adb 命令行通过数据线进入安卓手机系统
- win7中能对窗口的排列方法是_win7系统窗口智能排列的操作方法
- brpc源码分析——数据报处理过程
- 韦东山Linux视频第1期
- 机器学习与深度学习一些基础知识点
- 京华科讯软件PK VMware:国产虚拟化也精彩
- CSS实现背景图片垂直居中定位2种方法
热门文章
- go dll char* memcpy
- 四种常见的激活函数画图及简单改造
- 使用PyTorch从零开始实现YOLO-V3目标检测算法 (四)
- map/set iterator not dereferencable
- c++ 对‘cv::waitKey(int)’未定义的引用
- PMP-【第1章 引论】-2020-12-29(25页-34页)
- 歌手比赛系统c语言程序注释,C语言程序课程设计—歌手比赛系统(20页)-原创力文档...
- cruzer php sandisk 闪迪u盘量产工具_SanDisk Cruzer Micro下载
- 单例模式中,你不知道的事~~
- java resultset jdbc_【JDBC系列】JDBC原生处理ResultSet