以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 为何不是覆盖 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=100397)
|
-- 作者:刘林
-- 发布时间:2017/5/10 21:33:00
-- 为何不是覆盖
Dim tb As Table = Tables("任课情况_table1") Dim rs As List(of Row) = Tables("任课情况_table1").GetCheckedRows Dim mm As String If rs.Count > 0 Then \'如果存在符合条件的行 Dim t3 As String = e.Form.Controls("textbox3").text If t3 > "" mm = t3 Else mm = "888" End If messagebox.show("你为班主任统一设置的初始密码为: " & t3 & " 请记住并要求班主任自已修改","提示",MessageBoxButtons.OK) Dim r1 As DataRow For Each r As Row In tb.getcheckedrows If r("班主任") > "" r1 = DataTables("用户").sqlFind("group = \'" & r("学校名称").trim() & "\'\' And 班级 = \'" & r("班级").trim() & "\'") If r1 Is Nothing Then r1 = DataTables("用户").AddNew() r1("name") = r("班主任") r1("password")= mm r1("group") = r("学校名称").trim() r1("角色") = "班主任" r1("姓名")= r("班主任") r1("是否可用") = True r1("班级") = r("班级").trim() End If r.Checked = False Next If DataTables("用户").HasChanges DataTables("用户").save() End If Else messagebox.show("请注意,你没有勾选要设置帐号的班主任记录","提示",MessageBoxButtons.OK) End If
老师,上面是想开到符合条件的记录就履盖,没找到新增,但为何会增加重复记录呢,没看出问题呢
|
-- 作者:有点色
-- 发布时间:2017/5/10 21:42:00
--
Dim tb As Table = Tables("任课情况_table1") Dim rs As List(of Row) = Tables("任课情况_table1").GetCheckedRows Dim mm As String If rs.Count > 0 Then \'如果存在符合条件的行 Dim t3 As String = e.Form.Controls("textbox3").text If t3 > "" mm = t3 Else mm = "888" End If messagebox.show("你为班主任统一设置的初始密码为: " & t3 & " 请记住并要求班主任自已修改","提示",MessageBoxButtons.OK) Dim r1 As DataRow For Each r As Row In tb.getcheckedrows If r("班主任") > "" r1 = DataTables("用户").sqlFind("group = \'" & r("学校名称").trim() & "\'\' And 班级 = \'" & r("班级").trim() & "\'") If r1 Is Nothing Then r1 = DataTables("用户").AddNew() r1("name") = r("班主任") r1("password")= mm r1("group") = r("学校名称").trim() r1("角色") = "班主任" r1("姓名")= r("班主任") r1("是否可用") = True r1("班级") = r("班级").trim()
r1.Save \'sqlfind的行,要马上保存 End If r.Checked = False Next If DataTables("用户").HasChanges DataTables("用户").save() \'这段可以不写 End If Else messagebox.show("请注意,你没有勾选要设置帐号的班主任记录","提示",MessageBoxButtons.OK) End If
|
-- 作者:刘林
-- 发布时间:2017/5/10 21:47:00
--
还是一个效果呢
|
-- 作者:有点色
-- 发布时间:2017/5/11 1:56:00
--
以下是引用刘林在2017/5/10 21:47:00的发言: 还是一个效果呢
做个例子发上来测试。
|
-- 作者:刘林
-- 发布时间:2017/5/11 13:22:00
--
帐号511011197405034877,666,用个任课情况窗口里的班主任帐号按键,不能覆盖,请老师帮看下,谢谢
|
-- 作者:有点色
-- 发布时间:2017/5/11 14:19:00
--
请贴出开发者密码,否者无法测试。
|
-- 作者:刘林
-- 发布时间:2017/5/11 14:55:00
--
用511011197405034877,666
|
-- 作者:刘林
-- 发布时间:2017/5/11 14:56:00
--
000
|
-- 作者:刘林
-- 发布时间:2017/5/11 14:56:00
--
开发者000
|
-- 作者:有点色
-- 发布时间:2017/5/11 15:16:00
--
测试,并没有问题。
1、你用sqlFind查询的行,修改后,数据是修改在数据库那里的,你可以直接去数据库查看;
或者是重新load表格;
或者是,你用find查找,找不到再用sqlfind查找。
2、如果是重复添加行的问题,说明条件 "group = \'" & r("学校名称").trim() & "\'\' And 班级 = \'" & r("班级").trim() & "\'" 有问题,当学校名称、班级为空的时候,要用is null查找,空字符串找不到对应的行。
|