在PB数据窗口中显示超过255个字符的信息【网上收集整理】

最近需要在项目中增加一个发系统消息的功能,于是在后台新建了一张表,jc_sysmsg,表中有一个字段,用于存放消息信息,msg varchar(4000)。问题随之而来,在数据窗口中选择此字段后,显示为MSG CHAR(255),只能输入255个字符,那么显示也只能显示255个字符,如果突破这种限制呢,在网上找了一些资料,整理如下:

 

以下针对SQLSERVER2000、2005数据库

 

输入限制的解除

1、选中数据窗口,点击右键,选择"Edit Source"菜单,进入到数据窗口源代码方式,找到相应的字段,比如:

column=(type=char(255) update=yes updatewhereclause=yes name=msg_body dbname="jc_sysmessage.msg_body" ),

将以上语句改为:

column=(type=char(4000) update=yes updatewhereclause=yes name=msg_body dbname="jc_sysmessage.msg_body" )

然后保存。此方法主要是为了解决在数据提交到数据窗口数据缓冲区时的判断,如果是255,会提示超出长度。

 

2、双击打开数据窗口,选中字段msg_body,选择属性页中的EDIT标签,如图 

将Limit改为4000,对应数据库字段的长度。
经过以上修改后,现在可以输入2000个汉字,包括空格与回车符。并且可以保存成功了。
以上只完成了第一步,数据可以保存到数据库的表中了,但是你会发现在显示时,还是无法显示,这是因为SQLSERVER针对VARCHAR类型的数据做了限制,如果要显示更多数据,需要做以下处理
1、将字段类型改为TEXT类型,如果是SQLSERVER2005,也可以使用VARCHAR(MAX)类型,然后到数据窗口中,将此字段重新选择一次,你会发现在数据窗口字段列表中,字段长度变为CHAR(4099)了,显示数据超过了255个字符。
2、以上方法需要修改数据库。另一种方法可以不修改数据库。字段类型为varchar(4000)。双打开数据窗口,选择Data Source进入到SQL语法编辑窗口,将SQL语句中的字段进行转换,CONVERT(text,msg_body) AS msg_body,返回后,你会发现字段长度变为CHAR(4099)了,同样可以用于保存与显示超过255个字符的限制。
3、以上转换后,限制在了4099个字符,如何可以超过这个限制呢,在默认情况下,SQLSERVER对于TEXT类型的字段限制返回4099个字符,如果想突破,就得想办法了。
进入DB Profile数据库配置窗口,打开连接,选择Syntax标签页,如图,将Text Limit改为需要的值,再查看Preview标签页,
 
注意SQLCA.DBParm = "DBTextLimit='8000'",此参数就是用于突破TEXT类型字段的限制的,到此就完成了整个工作,你可以保存和显示超过255个字符的限制了。当然你还得重复第一步中的第1小项,将数据窗口的CHAR值改为相应的数值char(8000)。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值