dw_1.setfilter()只能char字段进行过滤吗?
[size=4]<STRONG>我在查询时,按课程代码过滤查询时,<BR>会出现datawindows错误,<BR>内容:types of expressions must match.<BR>但是当按课程名称过滤查询时,则没有问题。<BR>后来发现,c_id字段是numeric类型的,而c_name字段是char类型的。<BR>是不是dw_1.setfilter()中只能对char类型字段过滤呀,<BR>如果别的也可以,请指点一下,万分感谢!<BR>我的代码如下:<BR>if ddlb_1.text = "课程代码" then<BR> dw_1.settransobject(sqlca)<BR> dw_1.setfilter("c_id='"+sle_1.text+"'")<BR> dw_1.retrieve()<BR>end if<BR>if ddlb_1.text = "课程名称" then<BR> dw_1.settransobject(sqlca)<BR> dw_1.setfilter("c_name='"+sle_1.text+"'")<BR> dw_1.retrieve()<BR>end if</STRONG>[/size] <P>类型不对<BR>当过滤课程代码时,把sle_1.text转换为c_id的类型<BR></P> 你说的意思是这样吗?<BR>int s<BR>s = integer(sle_1.text)<BR>if ddlb_1.text = "课程代码" then<BR> dw_1.settransobject(sqlca)<BR> dw_1.setfilter("c_id='"+s+"'")<BR> dw_1.retrieve()<BR>end if<BR><BR>这样也不行的,这样在检验时,直接提示错误,<BR>incompatible types in expression :string,integer.<BR><BR>有其它的查询方法吗?别的只要能查就行,谢谢! <P>总的原则:转换成一样的 。</P> 不知道怎么转!你们有别的方法吗?只要能查询就行了,要不我就只有重新建表了,<BR>所有字段,全用char。 if ddlb_1.text = "课程代码" then<BR> dw_1.settransobject(sqlca)<BR> dw_1.setfilter("c_id='"+sle_1.text+"'")<BR> dw_1.retrieve()<BR>end if<BR><BR>如是c_id 是numeric类型將改為<BR><FONT color=#ff3300>dw_1.setfilter("c_id= "+sle_1.text+" ")</FONT> 非常感谢版主!解决了!真是高手呀![em01][em23]页:
[1]
