LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 958|回复: 0

Progress为什么有的程式能往里写超过定义的长度而ODBC对于超过的记录是访问不到的.

[复制链接]
发表于 2006-12-8 10:30:30 | 显示全部楼层 |阅读模式
1.
$ds="mfg";
$str="select PNO_FDESC from pub.PNO where PNO_NO='verygood'"; $odbccon=odbc_connect($ds,"user","pwd",SQL_CUR_USER_ODBC);
$result =odbc_exec($odbccon,$str);
odbc_fetch_row($result);
echo odbc_result($result,1);


此时如果PNO_FDESC为不长于16个汉字时以上语句会有显示,当也只显示为8个汉字.
如果此时PNO_FDESC为长于16个汉字时以上语句会没有显示.
PNO_FEDSC的Format:X(8)


此时如果PNO_FDESC为不长于32个数字时以上语句会有显示,当也只显示为16个数字,剩余16个乱码
如果此时PNO_FDESC为长于32个数字时以上语句会没有显示.
PNO_FEDSC的Format:X(8)




如果把以上的$str变为
$str="select substring(PNO_FDESC,1,16) from pub.PNO where PNO_NO='verygood'";
也只是把乱码去掉,并无作用啊.

现在最大的问题在于:
如果ERP厂商提供的程式在输入的时候其长度大于了如16个汉字或32个数字字母,
此时只要有涉及到此字段的PHP+ODBC 的sql语句都不能找到那条记录..


请高手赐教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表