以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- BeforeDeleteDataRow事件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73114) |
-- 作者:阿福 -- 发布时间:2015/8/12 17:21:00 -- BeforeDeleteDataRow事件 在DataTables("母猪分娩断奶")BeforeDeleteDataRow事件设置代码 Dim dr As DataRow = DataTables("母猪转产房").sqlfind("[创建时间]=" & e.DataRow("创建时间") ) MessageBox.Show(1) If dr Is Nothing Then MessageBox.Show(2) e.Cancel = True MessageBox.Show(3) Else MessageBox.Show(3) DataTables("母猪转产房").SQLDeleteFor("[创建时间]=" & dr("创建时间") ) MessageBox.Show(4) DataTables("母猪转产房").RemoveFor("[创建时间]=" & dr("创建时间") ) MessageBox.Show(5) End If MessageBox.Show(6) 代码执行了1,2,3,6。 请问老师,明明DataTables("母猪转产房")里有相同的“创建时间”行都是“2015/8/12 16:47:56”,却代码说找不到,为什么? 我看了一下SQL server里的“创建时间”行显示“2015/8/12 16:47:56:030”和“2015/8/12 16:47:56:037”,是不是这两个时间不同导致找不到datarow?
|
-- 作者:大红袍 -- 发布时间:2015/8/12 17:29:00 -- 条件这样写
Dim dr As DataRow = DataTables("母猪转产房").sqlfind("[创建时间]>=\'" & e.DataRow("创建时间") & "\' and [创建时间]<\'" & cDate(e.DataRow("创建时间")).AddSeconds(1) & "\'") |
-- 作者:阿福 -- 发布时间:2015/8/12 17:47:00 -- 大红袍老师,还有问题。 Dim dr As DataRow = DataTables("母猪转产房").sqlfind("[创建时间]>=\'" & e.DataRow("创建时间") & "\' and [创建时间]<\'" & cDate(e.DataRow("创建时间")).AddSeconds(1) & "\'") MessageBox.Show(1) If dr Is Nothing Then MessageBox.Show(2) e.Cancel = True MessageBox.Show(3) Else MessageBox.Show(4) DataTables("母猪转产房").SQLDeleteFor("[创建时间]=" & dr("创建时间") ) MessageBox.Show(5) DataTables("母猪转产房").RemoveFor("[创建时间]=" & dr("创建时间") ) MessageBox.Show(6) End If MessageBox.Show(7) 执行了1,4,5,6,7 在执行4时出现\'17\' 附近有语法错误。 在执行5时出现语法错误:“17”运算符后缺少操作数。。 最后也没有同步删除行,老师帮我改一下代码! [此贴子已经被作者于2015/8/12 17:50:13编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/8/12 17:51:00 -- Dim filter As String = "[创建时间]>=\'" & e.DataRow("创建时间") & "\' and [创建时间]<\'" & cDate(e.DataRow("创建时间")).AddSeconds(1) & "\'" [此贴子已经被作者于2015/8/12 17:51:46编辑过]
|
-- 作者:阿福 -- 发布时间:2015/8/12 18:03:00 -- 大红袍老师,还有问题.SQL server里已经彻底删除了数据,然而DataTables("母猪转产房")表里还是没有移除数据 |
-- 作者:大红袍 -- 发布时间:2015/8/12 18:07:00 -- Dim filter As String = "[创建时间]>=\'" & e.DataRow("创建时间") & "\' and [创建时间]<\'" & cDate(e.DataRow("创建时间")).AddSeconds(1) & "\'" |
-- 作者:阿福 -- 发布时间:2015/8/12 18:12:00 -- 终于可以了,谢谢大红袍老师!!! |