以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 在数据替换中如何计算替换成功记录数? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141920) |
-- 作者:gudao123456 -- 发布时间:2019/10/14 13:46:00 -- 在数据替换中如何计算替换成功记录数? 要替换多列数据,列名称储存在集合lms中,。代码入下: DataTables("学生信息导入样表").StopRedraw Dim i ,y As Integer = 0 Dim dr As DataRow For Each dr1 As DataRow In DataTables("学生信息导入样表").DataRows For y=0 To lms.count-1 DataTables("xszxztb").SQLReplaceFor(lms(y),dr1(nms(y)),"sfzhm= \'" & dr1("身份证号码") & "\'") Next i=i+1 Next DataTables("学生信息导入样表").Save() DataTables("学生信息导入样表").ResumeRedraw MessageBox.show("共替换成功" & i & "条记录") 这里的 i 显然不是替换了的行数 如何才能知道替换了几条?另外想在替换过的行做个标记,即成功的“学生信息导入样表” 中的“是否替换成功”列中做记true ,dr1("是否替换成功")=true 又插下那呢? 谢谢! |
-- 作者:有点蓝 -- 发布时间:2019/10/14 14:00:00 -- For Each dr1 As DataRow In DataTables("学生信息导入样表").DataRows For y=0 To lms.count-1 i=i + DataTables("xszxztb").SQLReplaceFor(lms(y),dr1(nms(y)),"sfzhm= \'" & dr1("身份证号码") & "\'") Next Next SQLReplaceFor会返回一个整数,表示合计有多少行的值被替换了。
|
-- 作者:gudao123456 -- 发布时间:2019/10/14 14:38:00 -- 谢谢,但那个标记如何解决呢?应把那个标记放在才好? dr1("是否已替换成功")=true 这个放哪? [此贴子已经被作者于2019/10/14 14:40:49编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/10/14 14:41:00 -- For Each dr1 As DataRow In DataTables("学生信息导入样表").DataRows For y=0 To lms.count-1 i=i + DataTables("xszxztb").SQLReplaceFor(lms(y),dr1(nms(y)),"sfzhm= \'" & dr1("身份证号码") & "\'") Next dr1("是否替换成功")=true Next
|
-- 作者:gudao123456 -- 发布时间:2019/10/14 21:36:00 -- 谢谢! |
-- 作者:gudao123456 -- 发布时间:2019/10/15 15:48:00 -- 老师,那个标志还是没有解决。因为它不管是否替换成功,它都dr1(“是否替换成功”)=ture 怎么改呢,谢谢! |
-- 作者:有点蓝 -- 发布时间:2019/10/15 16:17:00 -- 怎么样才算是替换成功? |
-- 作者:gudao123456 -- 发布时间:2019/10/15 16:45:00 -- 我的要求是,比对两个表的身份证号码,如果相同,就用样表中所选择中的列的内容替换系统中表的内容,代码已经替换成功,就是在样表做比对成功的记号不准确,把所有的都记成“成功了”,即每一行都 dr1("是否替换成功")=true。我特意设定了一列身份证号码不同的,它没有替换(说明达到要求),但它在样表“是否替换成功”也标记成“true”了,这一点不符合我的要求,谢谢! [此贴子已经被作者于2019/10/15 16:46:54编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/10/15 16:48:00 -- 比对两个表的身份证号码的代码在哪里? |
-- 作者:有点蓝 -- 发布时间:2019/10/15 16:52:00 -- 在这个意思? DataTables("学生信息导入样表").StopRedraw Dim i ,y,k As Integer = 0 Dim dr As DataRow For Each dr1 As DataRow In DataTables("学生信息导入样表").DataRows k=0 For y=0 To lms.count-1 k = DataTables("xszxztb").SQLReplaceFor(lms(y),dr1(nms(y)),"sfzhm= \'" & dr1("身份证号码") & "\'") Next dr1("是否替换成功") = k > 0 i=i+k Next |