Foxtable(狐表)用户栏目专家坐堂 → [求助]关于报错


  共有1659人关注过本帖树形打印复制链接

主题:[求助]关于报错

美女呀,离线,留言给我吧!
Springamy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
[求助]关于报错  发帖心情 Post By:2018/6/25 15:38:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

 

 

你好!

 如图 ,这是一个添加行数据的功能,在弹出的窗口中列所赋的值都是正确的,

但是不能填充到表的列中,并报错,请帮忙看看哪里出错

代码可以执行添加行addnew,并执行cpr("校验")="已成功添加!"
,但是就是中间添加行填充数据哪里不执行,并报上图错误,masbox弹出数据正确的

 

For Each Ary As String() In Arys
    cpr= DataTables("添加产品").Find("变更后的长编码='" & ary(0)  & "'" )
    ' msgbox(cpr("变更后的长编码") & " , " & cpr("短编码")  & " , " & cpr("产品大类"))
    If  cpr IsNot Nothing Then
        If cpr("长编码")="" Then
            If cpr("校验").Contains("OK") Then
                dr  = DataTables("窗口_Table2").Find("长编码='" &  ary(0) & "'")
               
                If dr Is Nothing Then  '找不到
                    Dim k3s As String =cpr("变更后的长编码").SubString(0,cpr("变更后的长编码").LastIndexOf(".") )
                    msgbox("K3S='" & k3s & "'")
                   cmd.CommandText = "select * fr om t_item where Flevel = 2 AND FNumber ='" & k3s & "'and FItemClassID=4"
                   
                    Dim dt As DataTable = cmd.ExecuteReader
                    If dt.DataRows.Count>0 Then
                        msgbox(ary(0) )
                        r=Tables( "窗口_Table2" ).AddNew
                        r("类别码") = 4  

                        r("上级节点") = dt.DataRows(0)("FParentID")
                        r("层数") = 3
                        r("长编码") = ary(0)
                        r("短编码")=ary(1)
                        r("型号") = cpr("型号")
                        r("描述") = cpr("描述")
                        r("FExternID") = -1
                        r("FDetail") =1
                        r("FBrNo") =0
                        r("FFullNumber") = ary(0)
                        r("FDiff") =0
                        r("FDeleted") =0
                        r("UUID") =""
                        r("FGRCommonID") =-1
                        r("FSystemType") =1
                        r("FUseSign") =0
                        r("FAccessory") =0
                        r("FGrControl") =0
                        r("FModifyTime") =""
                        r("FHavePicture") =0
                                                                                            
                        cpr("校验")="已成功添加!"
                    Else
                        cpr("校验")="已重复,不能添加!"
                    End If
                End If
            End If
        End If
        DataTables("窗口_Table2").Save

     


 


 回到顶部
美女呀,离线,留言给我吧!
Springamy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2018/6/25 15:39:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:4.png
图片点击可在新窗口打开查看
表结构如上图

 回到顶部
美女呀,离线,留言给我吧!
Springamy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2018/6/25 16:58:00 [显示全部帖子]

表结构是规定这样的,我也是全部列都有赋值,FitemClassID不是唯一的,是外键,为什么报错说类别码被束缚为唯一的值,

长编码确实是唯一的 我在添加之前有校验数据,确定原来数据库没有这个长编码才添加的.

主要问题在于,代码执行了AddNew,添加行,赋值的代码全部没有执行,然后执行最后一个赋值,给临时表校验列赋值"已成功添加"

但是事实上只添加了行,数据并没有填充.


 回到顶部