以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教如何根据时间(精确到秒)来删除记录  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148075)

--  作者:rogen
--  发布时间:2020/3/30 19:05:00
--  请教如何根据时间(精确到秒)来删除记录
想根据时间戳(精确到秒)来从sql后台删除记录,但是删不掉

Dim sjc As WinForm.DateTimePicker = e.Form.Controls("时间戳")
DataTables("表A").SQLDeleteFor("时间戳 = \'" & sjc.value & "\'")

比对数据后发现,狐表里显示的时间戳是 2020-03-29 15:14:52
SQL数据库里显示的是:2020-03-29 15:14:52.627
多了毫秒级
请问该怎么删呢?

--  作者:有点蓝
--  发布时间:2020/3/30 20:06:00
--  
方法1,保存数据的时候去掉毫秒
2、试试
dim d as date = cdate(format(sjc.value,"yyyy-MM-dd HH:mm:ss"))
DataTables("表A").SQLDeleteFor("时间戳 >= \'" & d & "\' and 时间戳 < \'" & d.AddSeconds(1) & "\'")

不过注意,这种方式会把2020-03-29 15:14:52.0000002020-03-29 15:14:52.999999的数据都删除了


--  作者:rogen
--  发布时间:2020/3/30 20:42:00
--  
以下是引用有点蓝在2020/3/30 20:06:00的发言:
方法1,保存数据的时候去掉毫秒
2、试试
dim d as date = cdate(format(sjc.value,"yyyy-MM-dd HH:mm:ss"))
DataTables("表A").SQLDeleteFor("时间戳 >= \'" & d & "\' and 时间戳 < \'" & d.AddSeconds(1) & "\'")

不过注意,这种方式会把2020-03-29 15:14:52.0000002020-03-29 15:14:52.999999的数据都删除了

重新把时间戳按yyyy-MM-dd HH:mm:ss的格式保存一遍就行了。

谢谢!