不知道代码那里错了

zgxqym 2004-03-21 10:30:33
我用Microsoft Access建立一个数据库,里面有一个汉字拼音对照表(表名duizhaobiao),有两个字段(hz 文本,大小2;py 文本,大小:1)
在程序中我想在sle_1.text中输入汉字,在sle_2.text中显示对应的拼音。我写了以下代码:
string a[],str,t,b
int i
str=trim(sle_1.text)
for i=1 to len(str)/2
a[i]=mid(str,i,1)
b=a[i]
messagebox('',b)
select py
into:t
from duizhaobiao
where hz=:b;
if sqlca.sqlcode=0 then
sle_2.text=sle_2.text+t
else
messagebox('','没找到')
end if
next
可是运行时提示没找到。在数据库画板中写sql语句却能找到。不知道什么原因。请各位指教。
...全文
31 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mittee 2004-03-21
  • 打赏
  • 举报
回复
在8.0版本请使用lenw()。
select py
into:t
from duizhaobiao
where hz=:b; //这里最好用一个数据窗口
thelazyman 2004-03-21
  • 打赏
  • 举报
回复
帮你测试了一下
使用pb7版本
汉字占两个字符,而数字.字母占一个字符
需要其asc码判断是否汉字.再确定步长值.. 比较麻烦

建议升级到pb8.0以上的版本试试..
dotnba 2004-03-21
  • 打赏
  • 举报
回复
跟踪一下LEN的返回
各个版本的PB可能不一样
mystyle 2004-03-21
  • 打赏
  • 举报
回复
把for循环改一下

for i = 1 to len(str) step 2

740

社区成员

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

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