公司项目需要,需要将旧数据升级。所谓的旧数据指密码,密码经过了加密处理,但是可逆的。现将加密算法进行了更新,因此需要同步处理系统中已有的旧数据。
所有的数据存储在一个表中,简单的说是数据批量更新。自动识别没有更新升级的数据,将其更新为新数据。这里涉及到表的批量更新。
数据库SQL 2005,开发工具VS2010
首先想到了SqlDataAdapter,据说这样的效率比较高。节省体力!
实际过程逐行扫描,单次提交。
只需要一次数据库连接。
提取数据自不用说,填充到DataTable中。
然后,更新字段数据。
更新,自然需要提供更新方面的信息。这里有两种方式。
方式一、
采用SqlCommandBuilder自动生成相应的Command,使用方法非常简单,只需要在SqlCommandBuilder构造函数中传递sqldataadapeter即可。
优点,不需要创建相应的Command。
缺点,生成的command不够友好。表中虽然有主键,自增ID,但在更新时并未使用!
方式二、
手动创建Command,明确告诉SqlDataAdapter的UpdateCommand。
提供参数需要指定字段名,也就是使用4个参数的那个方法。否则会报错。