Foxtable(狐表)用户栏目专家坐堂 → sqlfind不能save?


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

主题:sqlfind不能save?

帅哥哟,离线,有人找我吗?
lur320
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:943 积分:8362 威望:0 精华:0 注册:2015/8/12 16:28:00
sqlfind不能save?  发帖心情 Post By:2019/5/29 20:39:00 [只看该作者]

Dim cb1 As WinForm.ComboBox = e.Form.Controls("ComboBox1")
If cb1.value <>"" Then
    Dim Result As DialogResult
    Result = MessageBox.Show("是否从所选手册编号拷贝一份草稿?  并且覆盖当前的草稿?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        Dim dr As DataRow
        dr=DataTables("customBOMtitle").SQLFind("手册编号='" & cb1.value & "'")
        
        Dim dr2 As DataRow
        dr2= DataTables("customBOMtitle").SQLFind("手册编号 = 'Draft' or 手册编号 is null")
        If dr2 Is Nothing Then
            dr2= DataTables("customBOMtitle").addnew
            
        End If
        
        For Each dc As DataCol In DataTables("customBOMtitle").DataCols
            If dc.Name <> "attachloc" Then
                
                dr2(dc.Name) = dr(dc.Name)
            End If
            If dc.Name = "手册编号" Then
                
                dr2(dc.Name) = "Draft"
            End If
        Next
                dr2.save()
            End If
End If

当dr2不为空,不是新增的行的时候。运行到dr2。save会报错。为何?

 回到顶部
帅哥哟,离线,有人找我吗?
lur320
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:943 积分:8362 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2019/5/29 20:42:00 [只看该作者]

Invalid character value for cast specification.

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/29 21:00:00 [只看该作者]

 

当使用SQLfind的时候,录入时间为空的时候,请赋值为nothing,不要直接使用 dr2(dc.Name) = dr(dc.Name) 赋值。
 
 

 回到顶部
帅哥哟,离线,有人找我吗?
lur320
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:943 积分:8362 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2019/5/29 21:07:00 [只看该作者]

果然。修改一下就ok了
 For Each dc As DataCol In DataTables("customBOMtitle").DataCols
            
            
            Select Case dc.Name
                Case "有效日期","申报日期","录入日期"
                    If dr.IsNull(dc.name)     Then
                        
                        dr2(dc.Name) = Nothing
                    Else
                        dr2(dc.Name) = dr(dc.name)
                    End If
                    
                Case "attachloc"
                    Continue For
                Case "


 回到顶部