请教:如何将字符串型数据转换成实型数据???

fishball 2004-04-03 11:31:45
菜鸟的问题:
现用一表单提交数据。但该表单的内容应该为实型,为何为字符串型??见下面程序:
<%
...
dblPrice_MIN = Request("price_min") '假设取回的为127.3
dblPrice_MAX = Request("price_max") '假设取回的为137.3
Response.Write(TypeName(dblPrice_MIN)) '得出结果为String
...
Set RS = newconn.Execute("Select * From tablename Where 价格 >= dblPrice_MIN AND 价格 <= dblPrice_MAX") '这句该如何实现?就是说怎样才能从该表单中查找界于某两个值之间的数据
...
%>
...全文
176 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fishball 2004-04-04
  • 打赏
  • 举报
回复
Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配: '[string: ""]'

/search.asp,行39
supNate 2004-04-04
  • 打赏
  • 举报
回复
dblPrice_MIN = Request("price_min")+0
dblPrice_MAX = Request("price_max")+0
试试看
fishball 2004-04-04
  • 打赏
  • 举报
回复
VBscript里的CStr/CDbl/C.....都用过了。

查手册了解到SQL里有二个函数,CONVERT和CAST函数,但是好像不是用在这里的。
fishball 2004-04-04
  • 打赏
  • 举报
回复
CDBL不行啊。

dim a
a="12.7"
response.write cdbl(a)*10
Microsoft VBScript 编译器错误 错误 '800a03ea'

语法错误

search.asp,行72

a='12.7'
--^
这是我
pizixt 2004-04-04
  • 打赏
  • 举报
回复
Cdbl转换

不过你的SQL应该执行没问题的啊
fishball 2004-04-04
  • 打赏
  • 举报
回复
新问题又出来了,如果dblPrice_MIN或dblPrice_MAX在表单中输入数据的时候,如果两个任意一个不输入数据的话就会出现:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 '价格 >= AND 价格 <= 6' 中。
/search.asp,行33

也就是说我是不是要在SQL语句前校验一下数据。如果dblPrice_MIN为空的话就将它赋整个表价格字段的最小值,如果dblPrice_MAX为空的话就将它赋整个表价格字段的最大值??
fishball 2004-04-04
  • 打赏
  • 举报
回复
非常感谢仁兄 Ranmei(转向java) ,高手就是不同。呵呵
Ranmei 2004-04-04
  • 打赏
  • 举报
回复
sql语句本身就是字符串是不用把dblPrice_MIN、dblPrice_MAX转换成Double的
Ranmei 2004-04-04
  • 打赏
  • 举报
回复
.....
应该是:
Set RS = newconn.Execute("Select * From tablename Where 价格 >="&dblPrice_MIN&"AND 价格 <= "&dblPrice_MAX)
你这样写不是好习惯。

sql="Select * From tablename Where 价格 >="&dblPrice_MIN&"AND 价格 <= "&dblPrice_MAX
'response.write sql
Set Rs=newconn.Execute(sql)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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