以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  空值问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=130537)

--  作者:源理
--  发布时间:2019/1/24 16:51:00
--  空值问题
Tables("结算数据库_Table1").Current("工点")=""
output.Show( "工点值为null吗?" & (Tables("结算数据库_Table1").Current.Isnull("工点")))

结果为:
工点值为null吗?True

foxtable表居然自动把  空字符串""  变成了 null 
实在不可理解!!!!

我的问题是:
如何把一个fotable表中的值赋值为  空字符串""

直接
Tables("结算数据库_Table1").Current("工点")=""
这个肯定是不行了

--  作者:wyz20130512
--  发布时间:2019/1/24 17:05:00
--  
发项目测试!
--  作者:有点蓝
--  发布时间:2019/1/24 17:21:00
--  
Foxtable的单元格编辑不支持单纯的空字符串。只能是通过SQLcommand,使用sql保存
--  作者:源理
--  发布时间:2019/1/24 17:22:00
--  
写了一个这个
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:空值问题测试项目.zip

问题的测试项目
--  作者:有点蓝
--  发布时间:2019/1/24 17:27:00
--  
看3楼
--  作者:源理
--  发布时间:2019/1/24 17:35:00
--  
单元格编辑,那就是无解了.
那就只能曲线救国了:
在保存前先改数据,然后用sql改一下数据,然后再保存
感觉好绕,好绕
没有那种简捷的美感

--  作者:有点蓝
--  发布时间:2019/1/24 17:40:00
--  
话说,为什么要保存一个空字符串?
--  作者:源理
--  发布时间:2019/1/24 17:56:00
--  
事情的起因是这样的
后台mssql中我加一个字段不为空的限制,
在插入值时没有问题,可以用mssql中的默认值设置成  空字符串  ""
但在修改数据时,foxtable  updata 的这个字段就是一个 null  这样肯定报错了


现在我已经 在beforeSaveDataRow   事件中写了如下代码来规避这个问题
代码如下
If e.DataRow.IsNull("工点") Then
e.DataRow("工点")="源理"
e.DataRow.Save
e.DataRow.SQLSetValue("工点","")
e.DataRow.Load()
e.Cancel=True
End If


这样能解决问题   ,但是不是感觉很爽,    有点强迫证的人都有点不爽
有点脱 了裤子放屁的感觉!!!!!    

--  作者:有点甜
--  发布时间:2019/1/25 10:53:00
--  

 

foxtable暂时不能很好处理【非空】的列,没办法。