数据窗口中text类型的字段容量不能超过4099也就是不能超过2049个字,修改了该字段edit----limit设置为32000但仍无效。

tongyizh 2005-01-26 09:13:10
有什么办法可以让该字段允许输入sql中text类型允许的输入容量?
...全文
373 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbwl 2005-01-31
  • 打赏
  • 举报
回复
建议用blob啊
good__student 2005-01-28
  • 打赏
  • 举报
回复
我重新新建窗口的确可以插入了。但是在重新浏览时系统提示数据转换溢出,我已经修改了字段的limit=32000为什么可以保存不能提取浏览呢?你还修改了什么属性吗?
good__student 2005-01-28
  • 打赏
  • 举报
回复
i know.
我正是按你的步骤作的:
1配置专用接口的syntax页下的text limit=32000
2ini文件中修改DbParm=DBTextLimit='32000'
3再进入数据窗口修改该字段的limit至0修改为32000
但是在窗口对象中插入>2049的文本并转移焦点系统就提示:
item "文本内容"does not pass validation test
翻译:项目文本没有经过合法测试,所以想确定一下你用的时候还有其他参数要修改吗?
我使用的字段是text 16 类型不可能不合法只能是以上修改没有生效,你再想想?
hangzhou6274 2005-01-28
  • 打赏
  • 举报
回复
如果是老的数据窗口需要重构一下,方法一:在数据窗口的SQL状态,先Deselect All,在选择和原先一样的字段,方法二:编辑该数据窗口的源码Edit Source,把该字段的char(2049)改成char(32000)。
你在运行程序的时候如果还出错的话,可能还有一个地方漏掉没有写。
在appliaction的open事件里的连接数据库的东西要再加上一句:SQLCA.DbParm的信息,把设置再ini文件里的SQLCA.DbParm信息读出来。
hangzhou6274 2005-01-27
  • 打赏
  • 举报
回复
不会吧,这个问题没有人知道吗?呵呵,我知道哦,快点给分。
配置数据源的时候syntax下的Text Limit:输入32000,你的Text字段最长就可以有32000了,运行的ini配置:DbParm=DBTextLimit='32000'。
tongyizh 2005-01-27
  • 打赏
  • 举报
回复
我又在itemerror事件中
if sqlca.sqldbcode=16 then
messagebox("","行文不能超过2049字")
end if
return 1

但当我输入超过2049字并转移焦点时没有弹出任何错误提示只是无法转移焦点了。
后更换以下语句也是相同我哪里不对吗?
if error.number=16 then
messagebox("","行文不能超过2049字")
end if
return 1
hangzhou6274 2005-01-27
  • 打赏
  • 举报
回复
唉,你先把我上面说的两个改好,重新连接数据库,你在去改数据窗口上的limit一定行的,你要注意,我上面说的"配置数据源的时候syntax下的Text Limit:输入32000"是配置数据源的地方,不是数据窗口上的limit。要是这样都还不清楚那你就算了吧,我也没有办法了。我告诉你我就是这样做的,数据窗口上东西输入绝对超过 32000,你要还是不知道去看看sqlserver的帮助吧,看看是怎么介绍的。
tongyizh 2005-01-27
  • 打赏
  • 举报
回复
老兄,我是在free数据窗口的字段中操作的,limit也已经设置32000但在dw的item中使用acctext后转移焦点仍旧抱错。提示最大界限。
WorldMobile 2005-01-26
  • 打赏
  • 举报
回复
在PB中就只能输入不敷出4099个了,呵呵

不过你可以用多行编辑器来编辑,然后再用update来保存到数据库中

虽然麻烦一些,但也不失为一种方法
hygougou 2005-01-26
  • 打赏
  • 举报
回复
itemerror事件写
tongyizh 2005-01-26
  • 打赏
  • 举报
回复
好,我投降了。我想在数据窗口的dberror中加入检验代码如果出现数字超过4099限制弹出我的messagebox并屏蔽系统提示是用:

if sqlca.sqldbcode=16 then
messagebox("","行文不能超过2049字")
end if
return 1
还是
if error.number=16 then
messagebox("","行文不能超过2049字")
end if
return 1
为什么都无效。
qianfl 2005-01-26
  • 打赏
  • 举报
回复
说了没有就是没有了,再问也是没有的
tongyizh 2005-01-26
  • 打赏
  • 举报
回复
出于需要只能石油free类型的数据窗口来编辑和输入文本文件,没有其他办法可以增大4099的限制吗?
hygougou 2005-01-26
  • 打赏
  • 举报
回复
richtext可以
保存的时候就要存为blob了
tongyizh 2005-01-26
  • 打赏
  • 举报
回复
我知道可以使用selectblob可我就是想知道freeform类型的数据窗口字段最大的输入量就只能是2000多字吗?没有其他方法用来可以输入更多的数据容量吗?
hygougou 2005-01-26
  • 打赏
  • 举报
回复
大文本就用blob的存储方式了
li_d_s 2005-01-26
  • 打赏
  • 举报
回复
嘿嘿,这个嘛,数据窗口有这毛病的,text,bolb,image三种类型一般还是通过selectblob updateblob来做比较好。做个外表一样的单行/多行编辑框盖在上面,更新的时候手工用selectblob和updateblob来做。随便说说,没有测说过

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧