Foxtable(狐表)用户栏目专家坐堂 → 如何获得后台sql数据库表的默认值


  共有1639人关注过本帖平板打印复制链接

主题:如何获得后台sql数据库表的默认值

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


加好友 发短信
等级:八尾狐 帖子:1909 积分:16987 威望:0 精华:0 注册:2014/7/29 19:09:00
如何获得后台sql数据库表的默认值  发帖心情 Post By:2017/10/16 12:44:00 [只看该作者]

在用sql拼接语句保存时遇到一个问题,拼接的代码如下:
For Each r As Row In Curtb.rows
    For Each dc As DataCol In tb.dataCols
       If dc.IsNumeric Then
            If r(dc.Name) = Nothing Then  '数据为空赋值为null,否则会变为默认的0
                str2 + = "Null" &  ","
            Else
                str2 + = r(dc.Name) & ","
            End If
        Else
      ....
        End If
    Next
Next
 '---Union新增的所有行后一次性insert到数据表中
 If str2 > "" Then
  stradd + = "Se lect " & str2.Trim(",") & vbcrlf & "Union All" & vbcrlf
......
 End If

如果数值列在前台窗口界面中没有填写任何数据时,不赋值为null,则保存后全部值会变为0,如果没有值的让其为null,但有些数字列是设置了默认值的
这样insert时就会提示出错,不能有NUll值,因为代码是通用所有表的,所以想说如果没有录入任何内容的数值列后台设置了默认不能为空的值时让其为默认值,
否则才为null,但这样要如何才能得到后台是否设置了默认值?  还是有其他更简单的方法?

谢谢!

 回到顶部