| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1210 人关注过本帖
标题:运行时,出现数据不匹配问题
只看楼主 加入收藏
sdyswjlu
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2010-9-10
收藏
得分:0 
是的,不知道什么原因,输入很少的汉字,也出现下界超标
2011-08-05 14:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
下标超界是那段分析行数的代码有错误,循环计数器出现了16,而你的数组只有15行。在字符串很少的情况下,仍然用for循环,它当然要把计数器计到尽头才结束。

授人以渔,不授人以鱼。
2011-08-05 14:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
前面所说,你事实上就是把ASCII码字符变成了全角UNICODE码,这个动作在EditBox.Valid事件中执行,于是EditBox.Value的长度会改变。但你储存到数据表的动作,却不是根据EditBox.Value的实际字符来计算,而是从b(15)数组中把15行未知内容的东西写入字段。总之查那些代码我头痛,现在不用你的数组,我直接把EditBox.Value中的数据顺序填入字段中(不管你的字段长度、也不管是不是都是80个字符宽),每个字段的内容,是可以包含回车换行符的,只要它被输出,就会换行、分段。

其实,你根本不用这样分15个字段,应该用一个Memo字段储存整篇文章,在输入输出时限制篇幅罢了——因为那些格式文件规定了就只能在那个框框里。这种限制,不能死定字数,必须同时考虑行数,一行一个字,你也只能最多输入15个字。

授人以渔,不授人以鱼。
2011-08-05 15:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
咦,这么快结啦,解决问题了?

授人以渔,不授人以鱼。
2011-08-05 23:43
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
咦,这么快结啦,解决问题了?

授人以渔,不授人以鱼。
2011-08-05 23:43
快速回复:运行时,出现数据不匹配问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016531 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved