Foxtable(狐表)用户栏目专家坐堂 → 如何让值显示为Null


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

主题:如何让值显示为Null

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


加好友 发短信
等级:幼狐 帖子:137 积分:1329 威望:0 精华:0 注册:2018/4/19 21:34:00
如何让值显示为Null  发帖心情 Post By:2024/11/20 11:23:00 [只看该作者]

老师,我用这个代码:
cmd.CommandText = "Insert Into 尺寸参数方案库 (序号,层级,参数名称,配置,尺寸名称,数值,备注) Values('" & xh2 & "','" & cj3 & "','" & .Rows(i)("参数名称") & "' ,'" & .Rows(i)("配置") & "','"& .Rows(i)("尺寸名称") &"','"& .Rows(i)("最终数值") &"','"& th &"')"
向数据库里写值,赋完值后,发现尺寸参数方案库这个表中“【配置】”本来有空的、有不空的,但这样赋值空的显示的不是(Null),后面查询空值时就没法用“[配置] is Null”。
怎么能赋值时空的就赋值为(Null)?


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


加好友 发短信
等级:童狐 帖子:250 积分:1864 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2024/11/20 11:55:00 [只看该作者]

& IIf(.Rows(i)("配置")>"",.Rows(i)("配置"),Nothing) &

也可查询 "[配置]> ''"

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/20 11:56:00 [只看该作者]

方法1、改为参数化:http://www.foxtable.com/webhelp/topics/3266.htm (建议)
2、
cmd.CommandText = "Insert Into 尺寸参数方案库 (序号,层级,参数名称,配置,尺寸名称,数值,备注) Values('" & xh2 & "','" & cj3 & "','" & .Rows(i)("参数名称") & "' ," & IIF(.Rows(i).isnull("配置"),"NULL","'" & .Rows(i)("配置") & "'") & ",'"& .Rows(i)("尺寸名称") &"','"& .Rows(i)("最终数值") &"','"& th &"')"

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


加好友 发短信
等级:幼狐 帖子:137 积分:1329 威望:0 精华:0 注册:2018/4/19 21:34:00
  发帖心情 Post By:2024/11/21 14:46:00 [只看该作者]

老师,有2个问题:
1 改为参数化之后,赋空值的格式怎么写:
'With Tables("tb4_尺寸信息")
    'For i As Integer = 0 To ccxxhs-1
        'xh2 = xh2+1
        'cj3 = cj4 & "." & i+1
        'cmd.CommandText = "Insert Into 尺寸参数方案库 (序号,层级,参数名称,配置,尺寸名称,数值,备注) Values(?,?,?,?,?,?,?)"
        'cmd.Parameters.Add("@序号",xh2)
        'cmd.Parameters.Add("@层级",cj3)
        'cmd.Parameters.Add("@参数名称",iif(.Rows(i).Isnull("参数名称"),"Null",.Rows(i)("参数名称")))
        'cmd.Parameters.Add("@配置",iif(.Rows(i).Isnull("配置"),"Null",.Rows(i)("配置")))
        'cmd.Parameters.Add("@尺寸名称",iif(.Rows(i).Isnull("尺寸名称"),"Null",.Rows(i)("尺寸名称")))
        'cmd.Parameters.Add("@数值",iif(.Rows(i).Isnull("最终数值"),"Null",.Rows(i)("最终数值")))
        'cmd.Parameters.Add("@备注",th)
        'cmd.ExecuteNonQuery
    'Next
'End With
按照上面写,在单元格里赋值的就是NULL这4个字符。
2 按照上面改为参数化的方式后,能赋值第一行,第二行就报错:
调用的目标发生了异常。
已添加了具有相同键的项。

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/21 15:03:00 [只看该作者]

……
        cmd.CommandText = "Insert Into 尺寸参数方案库 (序号,层级,参数名称,配置,尺寸名称,数值,备注) Values(?,?,?,?,?,?,?)"
cmd.Parameters.clear
        cmd.Parameters.Add("@序号",xh2)
        cmd.Parameters.Add("@层级",cj3)
        cmd.Parameters.Add("@参数名称",iif(.Rows(i).Isnull("参数名称"),nothing,.Rows(i)("参数名称")))
……

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


加好友 发短信
等级:幼狐 帖子:137 积分:1329 威望:0 精华:0 注册:2018/4/19 21:34:00
  发帖心情 Post By:2024/11/21 16:40:00 [只看该作者]

非常感谢老师,可以了

 回到顶部