以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  datarow保存时的一个错误,请指导下  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122777)

--  作者:hellfirellb
--  发布时间:2018/8/2 7:57:00
--  datarow保存时的一个错误,请指导下
遇到一个错误“当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand。”,没太搞清楚具体产生的原因,请指导下什么原因造成的?
--  作者:有点甜
--  发布时间:2018/8/2 8:54:00
--  

你这个表示临时表?sqlcommand得到的表格?

 

这种表格,必须把主键列 _Identify 列也查询出来,才能保存的。


--  作者:hellfirellb
--  发布时间:2018/8/2 15:53:00
--  
不是临时表,我这个是开发web的时候出现的,从数据库查询数据,有_Identify.之前有个地方出现过一次,但是不知道怎么调整代码就好用了,这次一直没调好。代码里用一个字段做了字符串处理,不知道有没有关系
--  作者:有点甜
--  发布时间:2018/8/2 16:04:00
--  
以下是引用hellfirellb在2018/8/2 15:53:00的发言:
不是临时表,我这个是开发web的时候出现的,从数据库查询数据,有_Identify.之前有个地方出现过一次,但是不知道怎么调整代码就好用了,这次一直没调好。代码里用一个字段做了字符串处理,不知道有没有关系

 

从数据库怎样查询数据的?贴出完整的代码看看。


--  作者:hellfirellb
--  发布时间:2018/8/2 17:57:00
--  

贴代码发不出去啊


--  作者:有点甜
--  发布时间:2018/8/2 19:12:00
--  
以下是引用hellfirellb在2018/8/2 17:57:00的发言:

贴代码发不出去啊

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=69632

 


--  作者:hellfirellb
--  发布时间:2018/8/2 22:01:00
--  
 Dim Orderid As String = e.GetValues("oid")
    \'保存订单
    sql = CExp("select * fro m 短途配货单 where 配货单号=\'{0}\'",Orderid)
    dt = Functions.Execute("GetOuterDataTable","V16Data",sql,True)
    If dt.DataRows.Count > 0 Then
        dr = dt.DataRows(0)
        If e.PostValues.ContainsKey("remark") Then
            dr("备注")= e.PostValues("remark") \'设置备注
        End If
        \'
     End If
     For Each key As String In e.Files.Keys
                Dim nfl As String
                If key = "bill" Then
                    Dim strMultiFile As New List(Of String)
                    For Each fln As String In e.Files(key)
                        nfl = SaveWebFile("bill",fln,e.cookies("userid"),e)
                        strMultiFile.Add(nfl)
                    Next
                    nfl = dr("发货单照片") & "|" & String.Join("|", strMultiFile.ToArray)
                    nfl= nfl.TrimStart("|")
                    dr("发货单照片")= nfl
                End If
                If key = "load" Then
                    
                    For Each fln1 As String In e.Files(key)
                        nfl = SaveWebFile("load",fln1,e.cookies("userid"),e)
                    Next
                    dr("装货照片") = nfl
                End If
               

            Next

    dr.Save()
原先是按照蓝色写的,正常。后来要保存多文件,修改后就出问题了

--  作者:有点甜
--  发布时间:2018/8/2 22:20:00
--  

贴出你这个函数的代码

 

Functions.Execute("GetOuterDataTable","V16Data",sql,True)


--  作者:hellfirellb
--  发布时间:2018/8/3 9:41:00
--  
找到问题了,后面代码的问题,查询出的dt不能修改,但是赋值了。
[此贴子已经被作者于2018/8/3 9:55:41编辑过]