Foxtable(狐表)用户栏目专家坐堂 → 空值问题


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

主题:空值问题

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


加好友 发短信
等级:婴狐 帖子:49 积分:680 威望:0 精华:0 注册:2012/2/17 15:55:00
空值问题  发帖心情 Post By: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
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1249 积分:9492 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2019/1/24 17:05:00 [只看该作者]

发项目测试!

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112394 积分:572238 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/24 17:21:00 [只看该作者]

Foxtable的单元格编辑不支持单纯的空字符串。只能是通过SQLcommand,使用sql保存

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


加好友 发短信
等级:婴狐 帖子:49 积分:680 威望:0 精华:0 注册:2012/2/17 15:55:00
  发帖心情 Post By:2019/1/24 17:22:00 [只看该作者]

写了一个这个
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:空值问题测试项目.zip

问题的测试项目

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112394 积分:572238 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/24 17:27:00 [只看该作者]

看3楼

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


加好友 发短信
等级:婴狐 帖子:49 积分:680 威望:0 精华:0 注册:2012/2/17 15:55:00
  发帖心情 Post By:2019/1/24 17:35:00 [只看该作者]

单元格编辑,那就是无解了.
那就只能曲线救国了:
在保存前先改数据,然后用sql改一下数据,然后再保存
感觉好绕,好绕
没有那种简捷的美感

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112394 积分:572238 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/24 17:40:00 [只看该作者]

话说,为什么要保存一个空字符串?

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


加好友 发短信
等级:婴狐 帖子:49 积分:680 威望:0 精华:0 注册:2012/2/17 15:55:00
  发帖心情 Post By: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


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

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


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

 

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

 


 回到顶部