以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  sql数据库中能否判断行状态?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62608)

--  作者:HappyFt
--  发布时间:2015/1/5 11:27:00
--  sql数据库中能否判断行状态?

RowState

返回行的状态。

行状态是一个DataRowState型枚举,包括以下值:

说明
Added 新增加的行
Modified 已经修改过的行
Unchanged 未曾修改的行
Detached 刚刚创建,还未添加到DataTable中的行;在讲述事件编程的时候,我们会接触到这种状态的行。

 

如上图在foxtable中可以判断行状态,请问一下直接在sql数据库中能否判断某行的状态呢?如果能语句是怎么样的?

 

谢谢!


--  作者:jialihaha
--  发布时间:2015/1/5 11:28:00
--  
入库了就没有所谓的行状态了
--  作者:Bin
--  发布时间:2015/1/5 11:29:00
--  
SQL数据库当然无法判断,而且也没有判断的意义.

数据库里的行都是固定的,没有所谓的新增行 修改行的区别.

--  作者:HappyFt
--  发布时间:2015/1/5 11:55:00
--  

就是想在sql中识别第一次insert的行相当于新增的行,后续再Update时肯定就是修改了。


--  作者:有点甜
--  发布时间:2015/1/5 11:57:00
--  

 无法判断,你具体说你想做什么吧,判断又有什么用。


--  作者:Bin
--  发布时间:2015/1/5 11:57:00
--  
那你就增加一个状态列,第一次新增的时候为之赋值为1

修改的时候就为之赋值为2



--  作者:HappyFt
--  发布时间:2015/1/5 13:46:00
--  

Bin老师,就是不知道在SQL中怎么来判断是第一次新增啊,

我的目的就是想在SQL数据库中的每个表中都设置一列RowID,当表中行是第一次新增时就将_Identify的值赋值到RowID列中,想通过一个储存过程什么的通用的方式来实现,因为用触发器的话每个表都要去写,所以才想判断行状态。

在foxtable中新增时_Identify是临时的,不是真实的,所以没法用。


--  作者:jialihaha
--  发布时间:2015/1/5 13:55:00
--  
如果没有特别的编号需求,主键为什么不弄成自增长的呢
--  作者:有点甜
--  发布时间:2015/1/5 14:04:00
--  
 不知道你判断行状态有什么用,也无法判断。每一次,都给RowID赋值不就行?