本文主要向大家介绍了MySQL数据库之c#mysql批量更新的两种方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

总体而言update 更新上传速度还是慢.

1:  简单的insert  速度稍稍比MySqlDataAdapter慢一点

配合dapper

配置文件

string connectionString = ConfigurationManager.ConnectionStrings["mysqlconnectionString"].ToString();

public int Update(BaseTable model)

{

#region SQL语句

const string sql = @"

UPDATE  terminal_base

SET  license_number2 = @license_number2  WHERE license_number = @license_number";

#endregion

using (MySqlConnection connection = new MySqlConnection(connectionString))

{

return connection.Execute(sql, model);

}

}

public class BaseTable

{

public string license_number { get;set; }  //客户编码

public string shop_name { get; set; }  //店铺名称

public string user_name { get; set; }  //姓名

public string phone_number { get; set; } //手机号

}

更新5万数据用了十来分钟吧.单线程处理的

2用MySqlDataAdapter上传 这个坑不少,网上资料也很少,   fill是 从当前数据库查询到数据填充到dataset, update是把 改完的dataset 上传到mysql  .

///

///使用MySqlDataAdapter批量更新数据

///

/// 数据库连接字符串

/// 数据表

public void BatchUpdate(List model)

{

DataTable table = ListToDatatable.ToDataTable(model);

table.TableName = "terminal_base";

table.ExtendedProperties.Add("SQL", "select license_number,license_number2 from terminal_base");

MySqlConnection connection = new MySqlConnection(connectionString);

connection.Open();

//创建数据适配器

string sqlcommd= "select license_number,license_number2 from zyzs_terminal_base";

MySqlDataAdapter adapter = new MySqlDataAdapter(sqlcommd, connection);

DataSet ds = new DataSet();//创建数据集

adapter.Fill(ds, "terminal_base");

//  ds.Tables.Clear();

//给SqlDataAdapter的UpdateCommand属性指定执行更新操作的SQL语句select * from zyzs_terminal_base

adapter.UpdateCommand = new MySqlCommand("update terminal_base set license_number2 = @license_number2 where license_number=@license_number", connection);

//添加参数并赋值

adapter.UpdateCommand.Parameters.Add("@license_number2", MySqlDbType.VarChar, 50, "license_number2");

MySqlParameter prams_ID = adapter.UpdateCommand.Parameters.Add("@license_number", MySqlDbType.VarChar);

prams_ID.SourceColumn = "license_number";

prams_ID.SourceVersion = DataRowVersion.Original;

//填充数据集  //调用Update方法提交更新后的数据集ds,并同步更新数据库数据

adapter.Update(ds, "terminal_base");

//  transaction.Commit();

//MySqlCommand command = connection.CreateCommand();

//command.CommandTimeout = 4000;

//command.CommandType = CommandType.Text;

//MySqlDataAdapter adapter = new MySqlDataAdapter(command);

//MySqlCommandBuilder commandBulider = new MySqlCommandBuilder(adapter);

//commandBulider.ConflictOption = ConflictOption.OverwriteChanges;

//MySqlTransaction transaction = null;

//try

//{

//    connection.Open();

//    transaction = connection.BeginTransaction();

//    //设置批量更新的每次处理条数

//    adapter.UpdateBatchSize = 1000;

//    //设置事物

//    adapter.SelectCommand.Transaction = transaction;

//    if (table.ExtendedProperties["SQL"] != null)

//    {

//        adapter.SelectCommand.CommandText = table.ExtendedProperties["SQL"].ToString();

//    }

//    adapter.Fill(ds, "zyzs_terminal_base");

//    adapter.Update(table);

//    transaction.Commit();/提交事务

//  }

//catch (MySqlException ex)

//{

//    if (transaction != null) transaction.Rollback();

//    throw ex;

//}

//finally

//{

//    connection.Close();

//    connection.Dispose();

//}

}

//public int Update(Model.Model model)

//{

//    #region SQL语句

//    const string sql = @"

//    UPDATE [dbo].[Contacts]

//    SET

//            [UserName] = @UserName

//            ,[Tel] = @Tel

//            ,[Tel1] = @Tel1

//            ,[Address] = @Address

//                WHERE [Id] = @Id";

//    #endregion

//    using (SqlConnection connection = new SqlConnection(connstr))

//    {

//        return connection.Execute(sql, model);

//    }

//}

#endregion

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

dapper mysql 批量_MySQL数据库之c#mysql批量更新的两种方法相关推荐

  1. Mysql使用binlog恢复数据解决误操作问题的两种方法

    Mysql使用binlog恢复数据解决误操作问题的两种方法 参考文章: (1)Mysql使用binlog恢复数据解决误操作问题的两种方法 (2)https://www.cnblogs.com/Data ...

  2. mysql update 批量更新_mysql 批量更新的两种方法

    本文介绍两种批量更新数据方法 数据准备 create table account ( id int auto_increment primary key, balance int not null ) ...

  3. mysql 修复数据表 批量_MySQL数据库迁移与MySQL数据库批量恢复

    一.MySQL数据库迁移或备份 将相关数据库数据文件直接迁移方式 1. 了解使用InnoDB引擎创建数据库所产生的文件 使用MySQL InnoDB引擎所产生的文件(三个文件都很重要) .ibd:包含 ...

  4. mysql语句查询慢造成mysql卡死_MySQL数据库之一次MySQL慢查询导致的故障

    本文主要向大家介绍了MySQL数据库之一次MySQL慢查询导致的故障 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 我们知道分析MySQL语句查询性能的方法除了使用EXPLAI ...

  5. mysql行列转换case_浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用_MySQL...

    bitsCN.com /*创建数据库*/ CREATE DATABASE tmp go USE tmp go /*创建数据库测试表*/ CREATE TABLE [Scores] ( [ID] INT ...

  6. sql server 数据库mdf与ldf文件的导入两种方法

    方法一: 在sql server 的某个数据库上新建查询, @dbname = 'databasename', @filename1 =  'mdf文件路径(包缀名)', @filename2 = ' ...

  7. mysql数据库运行远程用户访问不了_MySQL数据库远程访问权限如何打开(两种方法)...

    下载GPL版本安装 MySQL Community Edition(GPL) Community (GPL) Downloads » 在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上 ...

  8. cpp 怎么连接mysql_C++连接mysql数据库的两种方法

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...

  9. mysql php gpl_MySQL_MySQL数据库远程访问权限如何打开(两种方法),下载GPL版本安装MySQL Community - phpStudy...

    MySQL数据库远程访问权限如何打开(两种方法) 下载GPL版本安装 MySQL Community Edition(GPL) Community (GPL) Downloads » 在我们使用mys ...

最新文章

  1. 什么是CPU的虚拟化技术?优势又是什么
  2. Xamarin ios C#苹果应用开发第二讲配置环境和编写代码
  3. U盘、硬盘格式化数据恢复
  4. mysql的dml语句_Mysql基础入门-SQL_DML语句
  5. Oracle 安装完怎么用,oracle 11g 安装完怎么用
  6. %d 跟%i 的区别以及scanf和sscanf的用法
  7. Android Studio在线安装Android SDK注意事项
  8. Django从理论到实战(part2)--virtualenvwrapper
  9. Linux系统编程---11(会话,守护进程,创建守护进程)
  10. Python_多进程编程
  11. 解决导入Beautifulsoup 报错 AttributeError: 'module' object has no attribute '_base'的问题
  12. memcache简单操作
  13. Java代码常见错误写法
  14. 上海科技大学信息科学与技术研讨会(SSIST day1) 笔记
  15. SuperMap iServer 重置密码
  16. iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destinatio
  17. 以计算机专业为主的活动,院系宣传 | 计算机科学与技术系:以梦为码
  18. android加载二维码带中间logo
  19. c语言炒股软件公式,20年的炒股实战公式让你认清股市本质 想不发财就难 源码放送 送给有缘人...
  20. UCenter和应用中配置信息详解

热门文章

  1. 关于c中的inline
  2. 计算机科学与技术第二章ppt,计算机科学与技术-编译原理-第二章重点.ppt
  3. php 获取signature,PHP开发微信无法获取到signature,timestamp,nonce
  4. 输入矩阵包含 nan 或 inf_荣耀 V30 PRO 采用超感光电影相机矩阵
  5. 设备租赁系统源码_滑雪场一卡通管理系统,设备租赁更简便
  6. 架构 encoder_一种新的超分模型蒸馏架构 (ECCV2020)
  7. 继承关系中的拷贝构造函数和赋值操作重载函数分析
  8. Cortex-M3的工作模式和特权级别
  9. C++中的虚函数与纯虚函数
  10. 几张表格怎么联动_猛男必备具皮肤:和平精英火箭少女联动火爆来袭,这摩托皮不香?...