注册 登录
编程论坛 PowerBuilder

types of expressions must match

计院人 发布于 2007-05-21 23:23, 1675 次点击

大家帮帮忙,我做查询的时候搞了半天老师出这个问题,快搞疯了
以下是代码~~
string fh,zd,nr,zhtj
fh=trim(ddlb_2.text)
if ddlb_1.text="客户全称" then
zd="khqc";nr=""+sle_1.text+""
elseif ddlb_1.text="出库日期" then
zd="ckrq";nr=""+sle_1.text+""
elseif ddlb_1.text="药品编号" then
zd="ypbh";nr=""+sle_1.text+""
elseif ddlb_1.text="药品名称" then
zd="ypmc";nr=""+sle_1.text+""
end if
zhtj=zd+fh+""+nr+""
dw_1.settransobject(sqlca)
dw_1.setfilter(zhtj)
dw_1.filter()
dw_1.retrieve()
高手大哥们帮帮忙啊~小弟不胜感激

5 回复
#2
路過2007-05-22 08:49
zd="ypmc";nr=""+sle_1.text+"" 不需要';',
dw_1.settransobject(sqlca)
dw_1.retrieve( )
dw_1.setfilter(zhtj)
dw_1.filter()
試一下
#3
路過2007-05-22 08:58
按你的代碼,我在這邊測試沒有問題呀!
你的ddlb_1是文本框(static text)嗎?
#4
计院人2007-05-22 09:46
以下是引用路過在2007-5-22 8:58:15的发言:
按你的代碼,我在這邊測試沒有問題呀!
你的ddlb_1是文本框(static text)嗎?

我也不知道怎么回事,我觉得也没什么问题,ddlb_1是下来菜单,不是文本框。是不是我在数据库表上一些地方有问题~~,我用的表里面的数据类型都是char

#5
路過2007-05-22 10:39
string ls_lb1,ls_lb2
ls_lb1 = dw_1.getitemstring(dw_1.getrow(),'ddlb_1')
ls_lb2 = trim(dw_1.getitemstring(dw_1.getrow(),'ddlb_1'))
if ls_lb1="客户全称" then
zd="khqc";nr=""+sle_1.text+""
elseif ls_lb1="出库日期" then
zd="ckrq";nr=""+sle_1.text+""
elseif ls_lb1 = "药品编号" then
zd="ypbh";nr=""+sle_1.text+""
elseif ls_lb1 ="药品名称" then
zd="ypmc";nr=""+sle_1.text+""
end if
#6
fyh2007-05-24 22:23
把所有的`nr=""+sle_1.text+"" 改为`nr="'"+sle_1.text+"'"

zhtj=zd+fh+"'"+nr+"'"



1