导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

这段代码怎么还是不对啊?

xlwz 2003-12-12 09:44:14
string ls_bh, ls_seq,ls_date
datetime ldt_date
int rowno,rowno0=0

select isnull( max(gzsqdbh), 'SG' + string(today(),'yyyymm') + '000' )
into :ls_bh
from t_gzsq
where left(gzsqdbh, 8 ) = 'SG' + string(today(),'yyyymm');

//ls_seq = right( ls_bh, 3 )
ls_seq = right('000'+string( long( ls_bh ) + 1 ), 3 )
//ls_bh = left( ls_bh, 8 ) + ls_seq
do
rowno0++
loop while isnull(dw_1.object.gzsqdbh[rowno0])
rowno=rowno0
dw_1.object.gzsqdbh[rowno] = 'SG' + string(today(),'yyyymm')+ls_seq
dw_1.object.sqrq[rowno] = today()
dw_1.object.sqr[rowno] = "zx"
rowno++
运行是没有从表中找出符合条件的值。
...全文
3 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mittee 2003-12-12
select isnull( max(gzsqdbh), 'SG' + string(today(),'yyyymm') + '000' )
into :ls_bh
说明ls_bh里面有字母,不能转化为数字
回复
xlwz 2003-12-12
to lmby
前面一部分本质上是你写的,怎么回出现你说的错误啊?呵呵。。
回复
jlwei888 2003-12-12
int ff
ff = right( ls_bh, 3 )
if ff<999 then
ls_seq = string(ff+1,"000")
else
messagebox('error','号码错误!')
return
end if
回复
lmby 2003-12-12
做long( ls_bh )这样转换的前提是 ls_bh isnumber()
回复
xlwz 2003-12-12
为什么会返回0 啊?
怎么解决啊?
回复
jlwei888 2003-12-12
ls_seq = right('000'+string( long( ls_bh ) + 1 ), 3 )
有问题

long( ls_bh ) 返回0
回复
workhand 2003-12-12
select isnull( max(gzsqdbh), 'SG' + string(today(),'yyyymm') + '000' )
into :ls_bh
from t_gzsq
where left(gzsqdbh, 8 ) = 'SG' + string(today(),'yyyymm');

执行完后判断一下sqlcode,看是否为0,不为零看sqlerrortext
回复
cxwsoftware 2003-12-12
gz!
回复
treesoft 2003-12-12
在内嵌sql中好象只能用连接的RDBMS中的函数或是过程,而不能使用pb的函数吧……
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

812

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告