以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 同一个表中怎么遍历处分形态1 处分形态2 处分形态3 处分形态4字段种的值 如果对应第一种形态 就在第一种形态列中写入数字1 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185915) |
||||
-- 作者:cnsjroom -- 发布时间:2023/3/24 23:25:00 -- 同一个表中怎么遍历处分形态1 处分形态2 处分形态3 处分形态4字段种的值 如果对应第一种形态 就在第一种形态列中写入数字1 表中有如下字段及数据行 第一种形态 第二种形态 第三种形态 第四种形态 处分形态1 处分形态2 处分形态3 处分形态4 1 第一种形态 1 第二种形态 1 1 第一种形态 第二种形态 2 1 1 第一种形态 第一种形态 第二种形态 第三种形态 怎么遍历处分形态1 处分形态2 处分形态3 处分形态4字段种的值 如果对应第一种形态 就在第一种形态列中写入数字1 如果同一行 有多个第一种形态 就累计数值 写入第一种形态列种
[此贴子已经被作者于2023/3/24 23:25:40编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2023/3/25 9:45:00 -- dim r as row = tables("A").current for each s as string in {"处分形态1","处分形态2",....}
r(s) = r(s) + 1 next
|
||||
-- 作者:cnsjroom -- 发布时间:2023/3/30 2:17:00 -- 回复:(有点蓝)dim r as row = tables("A").current... 麻烦老师继续指导下:当前代码如下 运行提示错误!附件中有表 Dim r As Row = Tables("表A").current For Each s As String In {"处分形态1","处分形态2","处分形态3","处分形态4","处分形态5","处分形态6"} r(s) = r(s) + 1 Next
运行提示: --------------------------- 版本:2022.1.30.2 --------------------------- 代码执行出错,错误信息: System.InvalidCastException: 从字符串“第二种形态”到类型“Double”的转换无效。 ---> System.FormatException: 输入字符串的格式不正确。 在 Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat) 在 Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat) --- 内部异常堆栈跟踪的结尾 --- 在 Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat) 在 Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value) 在 Microsoft.VisualBasic.CompilerServices.Operators.AddObject(Object Left, Object Right) 在 UserCode.Test() --------------------------- 确定 --------------------------- |
||||
-- 作者:有点蓝 -- 发布时间:2023/3/30 8:54:00 -- r(r(s)) = r(r(s)) + 1 |
||||
-- 作者:cnsjroom -- 发布时间:2023/3/30 13:30:00 -- 回复:(有点蓝)r(r(s)) = r(r(s)) + 1 遍历整个表,更新状态数据,可以直接更新到数据库,但是想实现按条件进行更新,而不是全部更新, cmd.CommandText = "se lect * from 台账 " Dim dt3 As DataTable = cmd.ExecuteReader(True) For Each r As DataRow In dt3.DataRows r("第一种形态") =Nothing r("第二种形态") =Nothing r("第三种形态") =Nothing r("第四种形态") =Nothing For Each s As String In {"处分形态1","处分形态2","处分形态3","处分形态4","处分形态5"} If r(s)="" Then Else r(r(s)) = r(r(s)) + 1 End If Next dt3.save Next 当前按条件更新代码如下: cmd.CommandText = "sel e ct * from 台账 where 问题guid=\'" & e.Values("问题guid") & "\'" Dim dt3 As DataTable = cmd.ExecuteReader(True) Dim r As DataRow = dt3.DataRows(0) If r IsNot Nothing Then r("第一种形态") =Nothing r("第二种形态") =Nothing r("第三种形态") =Nothing r("第四种形态") =Nothing For Each s As String In {"处分形态1","处分形态2","处分形态3","处分形态4","处分形态5"} r(r(s)) = r(r(s)) + 1 output.show(r(s)) output.show(r(r(s)) + 1) Next r.save End If 当前代码修正如上 红色部分可以输出值 但是值不保存到数据库表中 麻烦老师继续指导下 谢谢! [此贴子已经被作者于2023/3/30 14:56:43编辑过]
|
||||
-- 作者:cd_tdh -- 发布时间:2023/3/30 14:56:00 -- For Each s As St ring In {"处分形态1","处分形态2","处分形态3","处分形态4","处分形态5"} r(r(s)) = r(r(s)) + 1 output.show(r(s)) output.show(r(r(s)) + 1) r.save Next |
||||
-- 作者:cnsjroom -- 发布时间:2023/3/30 14:59:00 -- 回复:(cd_tdh) For Each s As... 遍历整个表,更新状态数据,可以直接更新到数据库,但是想实现按条件进行更新,而不是全部更新, cmd.CommandText = "se lect * from 台账 " Dim dt3 As DataTable = cmd.ExecuteReader(True) For Each r As DataRow In dt3.DataRows r("第一种形态") =Nothing r("第二种形态") =Nothing r("第三种形态") =Nothing r("第四种形态") =Nothing For Each s As String In {"处分形态1","处分形态2","处分形态3","处分形态4","处分形态5"} If r(s)="" Then Else r(r(s)) = r(r(s)) + 1 End If Next dt3.save Next 当前按条件更新代码如下: cmd.CommandText = "sel e ct * from 台账 where 问题guid=\'" & e.Values("问题guid") & "\'" Dim dt3 As DataTable = cmd.ExecuteReader(True) Dim r As DataRow = dt3.DataRows(0) If r IsNot Nothing Then r("第一种形态") =Nothing r("第二种形态") =Nothing r("第三种形态") =Nothing r("第四种形态") =Nothing For Each s As String In {"处分形态1","处分形态2","处分形态3","处分形态4","处分形态5"} r(r(s)) = r(r(s)) + 1 output.show(r(s)) output.show(r(r(s)) + 1) r.save Next End If 当前代码修正如上 红色部分可以输出值 但是值不保存到数据库表中 麻烦老师继续指导下 谢谢!
|
||||
-- 作者:有点蓝 -- 发布时间:2023/3/30 15:01:00 -- 可能原因: 1、表格没有主键 2、后台已经保存了,前台没有刷新
|
||||
-- 作者:cnsjroom -- 发布时间:2023/3/31 8:47:00 -- 回复:(有点蓝)可能原因:1、表格没有主键2、后台已... 经过排查: 主键是已经设置了的 后台没有数据写入 对应的查找条件值guid也是存在的 但是数据就是不保存 遍历整个表的时候 数据可以保存 单个指定guid的就不行
|
||||
-- 作者:有点蓝 -- 发布时间:2023/3/31 9:05:00 -- 单个不行应该是查询不到符合条件的数据,可能条件有问题,调试看看 cmd.CommandText = "select * from 台账 where 问题guid=\'" & e.Values("问题guid") & "\'" msgbox(cmd.CommandText) Dim dt3 As DataTable = cmd.ExecuteReader(True) msgbox(dt3.DataRows.count) Dim r As DataRow = dt3.DataRows(0) |