以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 删除记录的代码问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154366) |
-- 作者:0855yangjing -- 发布时间:2020/9/12 18:34:00 -- 删除记录的代码问题 请问哪里出了问题,以前可以删除记录的,几个月了就不可以了? Dim Filter As String With e.Form.Controls("Comzjh") If .Value IsNot Nothing Then Filter = "主机号 = \'" & .Value & "\'" End If End With With e.Form.Controls("Comhlh") If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "回路号 = \'" & .Value & "\'" Tables("报警设备定义").Filter = Filter Dim dr As DataRow dr = DataTables("报警设备定义").Find(Filter) Dim Result As DialogResult Result = MessageBox.Show("你确定要删除该回路的所有数据吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) If Result = DialogResult.Yes Then DataTables("报警设备定义").DeleteFor("回路号 = \'" & .Value & "\'") Else MessageBox.Show("请及时保存修改的数据!","提示") End If End If End With [此贴子已经被作者于2020/9/12 18:53:35编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/9/13 19:56:00 -- 调试技巧http://www.foxtable.com/webhelp/topics/1485.htm 是不是没有符合条件的数据?或者没有加载?另外上面的代码逻辑如果控件Comhlh没有填写内容是不会执行删除操作的 …… Filter = Filter & "回路号 = \'" & .Value & "\'" Tables("报警设备定义").Filter = Filter msgbox(Tables("报警设备定义").rows.count) ‘’有几行数据? Dim dr As DataRow dr = DataTables("报警设备定义").Find(Filter) \'这一句代码没有任何用处 Dim Result As DialogResult Result = MessageBox.Show("你确定要删除该回路的所有数据吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) If Result = DialogResult.Yes Then msgbox("回路号 = \'" & .Value & "\'") ‘这个表已经加载的数据是否有符合这个条件的数据? DataTables("报警设备定义").DeleteFor("回路号 = \'" & .Value & "\'") Else MessageBox.Show("请及时保存修改的数据!","提示") End If End If End With |