以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  为什么不能删除  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12081)

--  作者:youngds
--  发布时间:2011/8/22 11:29:00
--  为什么不能删除

我用SQLCommand生成了一个临时表,然后在这个表中做删除的操作(具体代码如下),但是系统提示说“不存在名称为""的Table!”。可是DataTable的Name属性是只读的,我又不能人为的赋值给Name属性,所以我想请问一下,这段代码该如何修改?谢谢!

 

 

Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.CommandText = "SELECT 姓名,所属学院,是否在岗 From {导师基础表}"
dt = cmd.ExecuteReader()

dt.DeleteFor("[是否在岗] = 0")

 

 

 

 


--  作者:狐狸爸爸
--  发布时间:2011/8/22 11:32:00
--  

从后台删除行不需要这么复杂,看下面的示例一:

 

http://www.foxtable.com/help/topics/0696.htm

 

[此贴子已经被作者于2011-8-22 11:32:32编辑过]

--  作者:lihe60
--  发布时间:2011/8/22 11:49:00
--  

我就事论事。

Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.CommandText = "SELECT 姓名,所属学院,是否在岗 From {导师基础表} where [是否在岗] <> \'0\'"
dt = cmd.ExecuteReader()


--  作者:blackzhu
--  发布时间:2011/8/22 12:30:00
--  
Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.CommandText = "DELETE  姓名,所属学院,是否在岗 From {导师基础表} where [是否在岗] <> \'0\'"
dt = cmd.ExecuteReader()

--  作者:youngds
--  发布时间:2011/8/22 12:57:00
--  

首先感谢狐爸和各位兄弟的及时回复。

我可能在提问题的时候没有说清楚,我的本意其实并不是想删除后台的数据,所以才从后台数据库中读取部分数据到一个临时表中,然后将这个表中不符合要求的记录删掉,之后再在剩下的数据基础上做一些分组统计的工作。另外,再说明一点,我也不能直接用"SELECT  姓名,所属学院,是否在岗 From {导师基础表} where [是否在岗] <> \'0\'"从后台筛选,因为对于部分记录的[是否在岗]字段,还要做一些调整,然后再做删除。(因为我其实想做的事儿是这样的,在“导师基础表”中记录的都是截止到现在的最终状态,而我现在想对过去的某个时点的状态做统计。因此我用另一个表“信息变更”专门用于记录各个字段状态变化的情况。所以我想先从“导师基础表”中将所有的记录读取出来,放在一个临时表中,然后根据“信息变更”中记录的信息将临时表中某些字段的值,如[是否在岗],还原到所要统计的那个时点时的状态,然后才能删除不符合条件的记录,并在这个临时表上作统计。由于这些操作不能影响到原始数据表“导师基础表”,所以只能在临时表上完成。)不知道我的意思,狐爸和各位兄弟是否理解,并请诸位给我提一些好的建议,谢谢!


--  作者:blackzhu
--  发布时间:2011/8/22 13:07:00
--  
如果是这样利用fill处理,看帮助.
--  作者:紙上不談兵
--  发布时间:2011/8/22 13:15:00
--  
以下是引用youngds在2011-8-22 12:57:00的发言:

首先感谢狐爸和各位兄弟的及时回复。

我可能在提问题的时候没有说清楚,我的本意其实并不是想删除后台的数据,所以才从后台数据库中读取部分数据到一个临时表中,然后将这个表中不符合要求的记录删掉,之后再在剩下的数据基础上做一些分组统计的工作。另外,再说明一点,我也不能直接用"SELECT  姓名,所属学院,是否在岗 From {导师基础表} where [是否在岗] <> \'0\'"从后台筛选,因为对于部分记录的[是否在岗]字段,还要做一些调整,然后再做删除。(因为我其实想做的事儿是这样的,在“导师基础表”中记录的都是截止到现在的最终状态,而我现在想对过去的某个时点的状态做统计。因此我用另一个表“信息变更”专门用于记录各个字段状态变化的情况。所以我想先从“导师基础表”中将所有的记录读取出来,放在一个临时表中,然后根据“信息变更”中记录的信息将临时表中某些字段的值,如[是否在岗],还原到所要统计的那个时点时的状态,然后才能删除不符合条件的记录,并在这个临时表上作统计。由于这些操作不能影响到原始数据表“导师基础表”,所以只能在临时表上完成。)不知道我的意思,狐爸和各位兄弟是否理解,并请诸位给我提一些好的建议,谢谢!


调整及删除都有一定的規律或條件的吧,總不能隨意吧!既有規律或條件,就應該能篩選出來.