编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

dw_1.setfilter()只能char字段进行过滤吗?

dw_1.setfilter()只能char字段进行过滤吗?

我在查询时,按课程代码过滤查询时,
会出现datawindows错误,
内容:types of expressions must match.
但是当按课程名称过滤查询时,则没有问题。
后来发现,c_id字段是numeric类型的,而c_name字段是char类型的。
是不是dw_1.setfilter()中只能对char类型字段过滤呀,
如果别的也可以,请指点一下,万分感谢!
我的代码如下:
if ddlb_1.text = "课程代码" then
dw_1.settransobject(sqlca)
dw_1.setfilter("c_id='"+sle_1.text+"'")
dw_1.retrieve()
end if
if ddlb_1.text = "课程名称" then
dw_1.settransobject(sqlca)
dw_1.setfilter("c_name='"+sle_1.text+"'")
dw_1.retrieve()
end if

TOP

类型不对
当过滤课程代码时,把sle_1.text转换为c_id的类型

TOP

你说的意思是这样吗?
int s
s = integer(sle_1.text)
if ddlb_1.text = "课程代码" then
dw_1.settransobject(sqlca)
dw_1.setfilter("c_id='"+s+"'")
dw_1.retrieve()
end if

这样也不行的,这样在检验时,直接提示错误,
incompatible types in expression :string,integer.

有其它的查询方法吗?别的只要能查就行,谢谢!

TOP

总的原则:转换成一样的 。

pb交流群:23037600软件设计师24088104
[url=http://hi.baidu.com/ugly927846] 版主博客[/url]

TOP

不知道怎么转!你们有别的方法吗?只要能查询就行了,要不我就只有重新建表了,
所有字段,全用char。

TOP

if ddlb_1.text = "课程代码" then
dw_1.settransobject(sqlca)
dw_1.setfilter("c_id='"+sle_1.text+"'")
dw_1.retrieve()
end if

如是c_id 是numeric类型將改為
dw_1.setfilter("c_id= "+sle_1.text+" ")

TOP

非常感谢版主!解决了!真是高手呀!

TOP

发新话题