以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  临时datatable的保存报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141483)

--  作者:lur320
--  发布时间:2019/9/30 10:19:00
--  临时datatable的保存报错
有一个内部函数。挂在了一个单元格的datarow changed的事件代码里面。
每次运行都会出现下面这个错误,但是表格的计算是OK的。
Update requires a valid UpdateCommand when passed DataRow collection with modified rows.



Dim cmd As new sqlcomand
Dim mosdt,wipdt As DataTable
Dim totalqty As DataRow
cmd.Connec=。。。
cmd.CommandT=。。。
mosdt=cmd.Execeader()
cmd.CommandT=。。。
wipdt=cmd.Execueader()
Dim rmlist,moolist As new List(of DataRow)
Dim molist As new List(of String)

For Each rms As DataRow In rmlist
    moolist =mosdt.Select("outputitem=\'" & rms("料号") & "\'")
    For Each mos As DataRow In moolist
MessageBox.Show(12)
        Dim deldr As DataRow
        deldr=wipdt.Find("m")
        If deldr IsNot Nothing Then
            deldr("leftq")-=mos("qty")*rms("数量")
MessageBox.Show(13)
            deldr.save问题出在这里,deldr是属于wipdt的内部临时datatable,为何保存的时候还会出现Update requires a valid UpdateCommand when passed DataRow collection with modified rows.的错误?




--  作者:有点蓝
--  发布时间:2019/9/30 10:26:00
--  
wipdt=cmd.Execueader(true)


--  作者:lur320
--  发布时间:2019/9/30 10:30:00
--  
我不需要反写回SQL,因为这个临时的datatable是用来后面的计算的。所以我说计算结果是OK的。
--  作者:lur320
--  发布时间:2019/9/30 10:31:00
--  
OK 了。既然是临时datatable,我就不保存了。
--  作者:有点蓝
--  发布时间:2019/9/30 10:31:00
--  
不需要反写回SQL,干嘛调用deldr.save
--  作者:lur320
--  发布时间:2019/9/30 10:35:00
--  
我以为从临时datatable内find的datarow,需要save才能将数据保存在临时datatable内。