以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQLUpdate不应该只限于记录的集合  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=51386)

--  作者:kylin
--  发布时间:2014/5/26 9:06:00
--  SQLUpdate不应该只限于记录的集合

帮助中说明:

SQLUpdate用于批量保存通过SQLSelect筛选出来的行

 

实际运用中,可能用SQLFind查找,找到了,做了更新,之后只需要对这一条记录进行更新就可以,目前要这样用就会被提示错误。


--  作者:Bin
--  发布时间:2014/5/26 9:09:00
--  
怎么样用提示怎么样的错误?
--  作者:kylin
--  发布时间:2014/5/26 9:21:00
--  

代码如下(部分):

 

Dim fdr As DataRow  = DataTables(tb).SQLFind(tj)
If fdr IsNot Nothing
    fdr(dcl) = fdr(dcl) + e.NewValue - e.OldValue

    DataTables(tb).SQLUpdate(fdr)
End If

错误提示如下:

 


此主题相关图片如下:qq截图20140526091719.png
按此在新窗口浏览图片
[此贴子已经被作者于2014-5-26 9:22:10编辑过]

--  作者:Bin
--  发布时间:2014/5/26 9:23:00
--  
因为,那需要一个集合http://www.foxtable.com/help/topics/2901.htm

Dim drs As new List(of DataRow)
Dim fdr As DataRow  = DataTables(tb).SQLFind(tj)
If fdr IsNot Nothing
    fdr(dcl) = fdr(dcl) + e.NewValue - e.OldValue
End If

drs.add(fdr)

DataTables(tb).SQLUpdate(drs)





--  作者:有点甜
--  发布时间:2014/5/26 9:25:00
--  

 呃,既然是sqlFind,直接保存此行即可。

 

 fdr.Save

 

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

 


--  作者:kylin
--  发布时间:2014/5/26 9:26:00
--  

我知道,后来,我也差不多按您写那样改过来了

 

我觉得,是否也可以直接支持单条记录,不是更好吗?

 

这么用是否有点绕啊


--  作者:Bin
--  发布时间:2014/5/26 9:27:00
--  
看5楼. 直接SAVE即可
--  作者:kylin
--  发布时间:2014/5/26 16:01:00
--  
以下是引用Bin在2014-5-26 9:27:00的发言:
看5楼. 直接SAVE即可

谢谢!


--  作者:程兴刚
--  发布时间:2014/5/26 16:25:00
--  
一个是datarow集合,一个是单独的一行datarow,肯定不行!