在用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,但这样要如何才能得到后台是否设置了默认值? 还是有其他更简单的方法?
谢谢!