日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2025/4/5 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dapper mysql 批量_MySQL数据库之c#mysql批量更新的两种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主要向大家介紹了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批量更新的两种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。