pb中的数据窗口内的可编辑的录入字段为什么不能随意修改?

时间:2021-12-08 16:17:44
我的系统:win7+pb12.5 +sqlserver2008
我在数据窗口中有一个字段叫备注:bz,类型为char(200),录入保存后,再调出修改时不能随意修改,如果把该字段的edit属性由limit=200,改为limit=0,是可以随意修改了,但是修改后确有如下图所示的错误: pb中的数据窗口内的可编辑的录入字段为什么不能随意修改?
请问高手问题出现在哪里呢?

8 个解决方案

#1


引用 楼主 lqhly 的回复:
我的系统:win7+pb12.5 +sqlserver2008
我在数据窗口中有一个字段叫备注:bz,类型为char(200),录入保存后,再调出修改时不能随意修改,如果把该字段的edit属性由limit=200,改为limit=0,是可以随意修改了,但是修改后确有如下图所示的错误: pb中的数据窗口内的可编辑的录入字段为什么不能随意修改?
请问高手问题出现在哪里呢?


把这个数据窗口editsource一下,看一下bz这个字段在数据窗口里的类型及长度,应该是这个字段原来比较短你调整为200引起的

#2


我用editesource看了,edit.limit =200,和我设置的是一样的,好像pb8没有这样的毛病,怎么pb越升级连这种低级的错误都会出现呢,真郁闷啊!

#3


问题自己解决了,//---因为通过dw_1.retrieve(pzh)检索出来的数据是满字段的,所以
//--不能在数据窗口中随意插入和修改,因为一插入和修改,字段的长度就超过
//--字段的数据库内设置的长度了,所以就会出来item ‘XXXX’ does not pass the validation testvali
//--的错误,解决方法:将检索出的字段数据trim后,去的后面多余的空格数据,然后
//--再把这个数据写回数据窗口中,那么这个字段就可以随意修改了。

#4


字段类型 为Char(200)  不足200的 你录入后 后面是自动空格补足到200,然后修改时候实际是200 你修改肯定超过200了 
你可以修改字段类型为varchar

#5


引用 4 楼 fengxiaohan211 的回复:
字段类型 为Char(200)  不足200的 你录入后 后面是自动空格补足到200,然后修改时候实际是200 你修改肯定超过200了 
你可以修改字段类型为varchar

你的方法我试了,错误提示和原来的一样啊。

#6


引用 5 楼 lqhly 的回复:
Quote: 引用 4 楼 fengxiaohan211 的回复:

字段类型 为Char(200)  不足200的 你录入后 后面是自动空格补足到200,然后修改时候实际是200 你修改肯定超过200了 
你可以修改字段类型为varchar

你的方法我试了,错误提示和原来的一样啊。


你这么修改后,你可以新增一条数据,然后保存,检索试试

主要是你原来的数据里已经有空格补齐了,修改类型也不会把空格去掉

#7


引用 5 楼 lqhly 的回复:
Quote: 引用 4 楼 fengxiaohan211 的回复:

字段类型 为Char(200)  不足200的 你录入后 后面是自动空格补足到200,然后修改时候实际是200 你修改肯定超过200了 
你可以修改字段类型为varchar

你的方法我试了,错误提示和原来的一样啊。

确实如楼上版主所说 你新增一条试试

#8


char 和varchar的区别

#1


引用 楼主 lqhly 的回复:
我的系统:win7+pb12.5 +sqlserver2008
我在数据窗口中有一个字段叫备注:bz,类型为char(200),录入保存后,再调出修改时不能随意修改,如果把该字段的edit属性由limit=200,改为limit=0,是可以随意修改了,但是修改后确有如下图所示的错误: pb中的数据窗口内的可编辑的录入字段为什么不能随意修改?
请问高手问题出现在哪里呢?


把这个数据窗口editsource一下,看一下bz这个字段在数据窗口里的类型及长度,应该是这个字段原来比较短你调整为200引起的

#2


我用editesource看了,edit.limit =200,和我设置的是一样的,好像pb8没有这样的毛病,怎么pb越升级连这种低级的错误都会出现呢,真郁闷啊!

#3


问题自己解决了,//---因为通过dw_1.retrieve(pzh)检索出来的数据是满字段的,所以
//--不能在数据窗口中随意插入和修改,因为一插入和修改,字段的长度就超过
//--字段的数据库内设置的长度了,所以就会出来item ‘XXXX’ does not pass the validation testvali
//--的错误,解决方法:将检索出的字段数据trim后,去的后面多余的空格数据,然后
//--再把这个数据写回数据窗口中,那么这个字段就可以随意修改了。

#4


字段类型 为Char(200)  不足200的 你录入后 后面是自动空格补足到200,然后修改时候实际是200 你修改肯定超过200了 
你可以修改字段类型为varchar

#5


引用 4 楼 fengxiaohan211 的回复:
字段类型 为Char(200)  不足200的 你录入后 后面是自动空格补足到200,然后修改时候实际是200 你修改肯定超过200了 
你可以修改字段类型为varchar

你的方法我试了,错误提示和原来的一样啊。

#6


引用 5 楼 lqhly 的回复:
Quote: 引用 4 楼 fengxiaohan211 的回复:

字段类型 为Char(200)  不足200的 你录入后 后面是自动空格补足到200,然后修改时候实际是200 你修改肯定超过200了 
你可以修改字段类型为varchar

你的方法我试了,错误提示和原来的一样啊。


你这么修改后,你可以新增一条数据,然后保存,检索试试

主要是你原来的数据里已经有空格补齐了,修改类型也不会把空格去掉

#7


引用 5 楼 lqhly 的回复:
Quote: 引用 4 楼 fengxiaohan211 的回复:

字段类型 为Char(200)  不足200的 你录入后 后面是自动空格补足到200,然后修改时候实际是200 你修改肯定超过200了 
你可以修改字段类型为varchar

你的方法我试了,错误提示和原来的一样啊。

确实如楼上版主所说 你新增一条试试

#8


char 和varchar的区别