Foxtable(狐表)用户栏目专家坐堂 → BeforeDeleteDataRow事件


  共有2758人关注过本帖树形打印复制链接

主题:BeforeDeleteDataRow事件

帅哥哟,离线,有人找我吗?
阿福
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
BeforeDeleteDataRow事件  发帖心情 Post By:2015/8/12 17:21:00 [只看该作者]

在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?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 17:29:00 [只看该作者]

条件这样写

 

Dim dr As DataRow = DataTables("母猪转产房").sqlfind("[创建时间]>='" & e.DataRow("创建时间") & "' and [创建时间]<'" & cDate(e.DataRow("创建时间")).AddSeconds(1) & "'")


 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 17:51:00 [只看该作者]

Dim filter As String = "[创建时间]>='" & e.DataRow("创建时间") & "' and [创建时间]<'" & cDate(e.DataRow("创建时间")).AddSeconds(1) & "'"
Dim filter2 As String = "[创建时间]=#" & e.DataRow("创建时间") & "#"
Dim dr As DataRow = DataTables("母猪转产房").sqlfind(filter)
MessageBox.Show(1)
If dr Is Nothing Then
    MessageBox.Show(2)
    e.Cancel = True
    MessageBox.Show(3)
Else
    MessageBox.Show(4)
    DataTables("母猪转产房").SQLDeleteFor(filter )
    MessageBox.Show(5)
    DataTables("母猪转产房").RemoveFor(filter2 )
    MessageBox.Show(6)
End If
MessageBox.Show(7)

[此贴子已经被作者于2015/8/12 17:51:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/12 18:03:00 [只看该作者]

大红袍老师,还有问题.SQL server里已经彻底删除了数据,然而DataTables("母猪转产房")表里还是没有移除数据

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 18:07:00 [只看该作者]

Dim filter As String = "[创建时间]>='" & e.DataRow("创建时间") & "' and [创建时间]<'" & cDate(e.DataRow("创建时间")).AddSeconds(1) & "'"
Dim filter2 As String = "[创建时间]>=#" & e.DataRow("创建时间") & "#
 and [创建时间]<#" & cDate(e.DataRow("创建时间")).AddSeconds(1) & "#"


 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/12 18:12:00 [只看该作者]

终于可以了,谢谢大红袍老师!!!图片点击可在新窗口打开查看

 回到顶部