当前位置: 首页 > 编程笔记 >

C#批量更新sql实例

苏丰茂
2023-03-14
本文向大家介绍C#批量更新sql实例,包括了C#批量更新sql实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C#批量更新sql的方法,分享给大家供大家参考。具体方法如下:

要实现批量更新Card数据,主要有以下步骤:

1、首先建立数据库连接

2、把部分数据填充到Dataset中

3、修改Dataset中数据的值

4、更新Dataset

5、循环操作,具体操作过程见下面代码:

public void BatchUpdate(List<Card> list)

{

    using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))

    {

 conn.Open();

 using (SqlDataAdapter da = new SqlDataAdapter())

 {

     da.SelectCommand = new SqlCommand("select top 100 ScanFlag,CardId from Card",conn);

     DataSet ds = new DataSet();

     da.Fill(ds);

     da.UpdateCommand = new SqlCommand("update Card set ScanFlag = @ScanFlag where CardId = @CardId", conn);      da.UpdateCommand.Parameters.Add("@ScanFlag", SqlDbType.Bit, 1, "ScanFlag");      da.UpdateCommand.Parameters.Add("@CardId", SqlDbType.Int, 4, "CardId");      da.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;      da.UpdateBatchSize = 0;

     for (int i = 0; i < list.Count; i++)      {   for (int j = 0; j < ds.Tables[0].Rows.Count; j++, i++)   {       ds.Tables[0].Rows[j].BeginEdit();       ds.Tables[0].Rows[j]["ScanFlag"] = true;       ds.Tables[0].Rows[j]["CardId"] = list[i].CardId;       ds.Tables[0].Rows[j].EndEdit();       if (i == list.Count - 1)    break;   }   da.Update(ds.Tables[0]);      }      ds.Clear();      ds.Dispose();  }     } }

希望本文所述对大家的C#程序设计有所帮助。

 类似资料:
  • 问题内容: 我有一个具有主键和称为的列的270k行数据库,并且我有一个带有Mid和值的文本文件。现在,我想更新表,以便将每个值分配给正确的中间值。 我当前的方法是从C#中读取文本文件,并为读取的每一行更新表中的一行。必须有一种更快的方式来做我感觉到的事情..有什么想法吗? 编辑:表中还有其他列,所以我真的需要根据中点 更新 的方法。 问题答案: 您可以使用SQL Server导入和导出向导: ht

  • 问题内容: 我正在寻找一种对重复键Update(例如SQL Server 2005中的操作)执行插入的解决方案。此操作可能会插入或更新大量条目。SQL Server 2008有一个整洁的操作MERGE,可以很好地完成它,问题是我们只能使用SQL Server2005。 我研究了标准的解决方案,但是它们都不是很好,因为它们假定只有一个入口已更新/插入。 有谁知道在旧版SQL Server中复制MER

  • 问题内容: 我有一个包含一千万行的表,需要与另一个表连接并更新所有数据。一小时要花费超过1个小时的时间,这使我的事务日志增加了10+ GB。是否有另一种方法可以增强此性能? 我相信,每次更新后,都会检查索引和约束并记录所有信息。有没有一种方法可以告诉SQL Server仅在更新完成后才检查约束并最小化记录更新操作? 我的查询如下。我已经修改了一些名称,以便于阅读。 编辑: 如注释中所述,表定义将类

  • 一、简介 方便用户在设置URL规则时更新url,无需手动去更新各页面URL。只需选择就能批量更新URL即可。 二、功能演示 1.批量更新URL 1、仅当内容页URL规则发上变化时,请批量更新,地址未改变时,不需要更新 。 2、规则设置:设置 > 相关设置 > 管理栏目 > 添加或修改栏目 选择需要更新的模型和栏目,输入每轮更新的信息数目提交则完成批量更新URL操作。如下图所示:

  • 一、简介 主要用来操作黄页模块的相关更新操作 ! 1、仅当启用、关闭伪静态时,请批量更新所有链接地址,除此,不需要更新 。 2、启用伪静态在模块配置里。 3、更新企业URL,只需选中企业库模型即可,不必选分类。 二、功能演示

  • 问题内容: 有没有办法在续集中进行批量追加。另外,我可以指定用于检查重复项的键吗? 我尝试了以下操作,但没有成功: 批量创建效果不错。上面的语句总是在数据库中创建新条目。 问题答案: 来自官方sequelizejs参考。 可以通过使用该选项来完成。 例如这样: 是一个字段数组,当主键(或可能是唯一键)与行匹配时将更新。确保您的模型中至少有一个唯一字段(让我说id),这两个字段中都包含upsert。