怎样通过拼音字头检索DATAWINDOW中数据

ZBX1219_ 2006-12-05 01:34:57
在数据库中有一个字段是项目名称,但表中没有拼音字头的字段,也没有办法加入这个字段,我现在想通过拼音字头自动检索DATAWINDOW中的数据,请高手指教怎样实现!
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bapi 2006-12-05
  • 打赏
  • 举报
回复
给你个函数,传入汉字即可返回汉字的拼音首字母

说明:是以前在网上下的,在此感谢原作者的奉献!

FUNCTION f_get_py (string as_data) returns string

long ll_pos
string ls_py,ls_pos
FOR ll_pos = 1 TO Len(as_data)
IF ASC(Mid(as_data,ll_pos,1)) > 128 THEN
CHOOSE CASE Mid(as_data,ll_pos,2)
CASE is >= '匝';ls_py += "Z"
CASE is >= '丫';ls_py += "Y"
CASE is >= '夕';ls_py += "X"
CASE is >= '哇';ls_py += "W"
CASE is >= '他';ls_py += "T"
CASE is >= '撒';ls_py += "S"
CASE is >= '然';ls_py += "R"
CASE is >= '七';ls_py += "Q"
CASE is >= '趴';ls_py += "P"
CASE is >= '哦';ls_py += "O"
CASE is >= '拿';ls_py += "N"
CASE is >= '妈';ls_py += "M"
CASE is >= '廓';ls_py += "L"
CASE is >= '咖';ls_py += "K"
CASE is >= '讥';ls_py += "J"
CASE is >= '哈';ls_py += "H"
CASE is >= '嘎';ls_py += "G"
CASE is >= '发';ls_py += "F"
CASE is >= '讹';ls_py += "E"
CASE is >= '搭';ls_py += "D"
CASE is >= '擦';ls_py += "C"
CASE is >= '八';ls_py += "B"
CASE is >= '阿';ls_py += "A"
CASE ELSE; ls_py += Mid(as_data,ll_pos,2)
END CHOOSE
ll_pos ++
ELSE
ls_py += Mid(as_data,ll_pos,1)
END IF
NEXT
RETURN ls_py
ZBX1219_ 2006-12-05
  • 打赏
  • 举报
回复
具体怎么实现啊?要是将数据库中的所有记录逐条对照那得多影响效率啊。有没有更好的方法呢?
youqiong 2006-12-05
  • 打赏
  • 举报
回复
这个恐怕要写格专门的对照函数了
从a-z
然后retrieve()或filter()中用like(),通配符啥的
ZBX1219_ 2006-12-05
  • 打赏
  • 举报
回复
不是那么检索,比如我想找第一个字的拼音字头是Z的,我打Z出现的数据都是以Z开头。这样更便于查找
kucool 2006-12-05
  • 打赏
  • 举报
回复
你直接Order By 项目名称就可以了.
ZBX1219_ 2006-12-05
  • 打赏
  • 举报
回复
没人会吗?很急啊,谢谢了!

611

社区成员

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

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