主题:  怎样转换数字类型

风之翅

职务:普通成员
等级:2
金币:10.0
发贴:540
注册:2001/1/31 14:48:59
#12002/4/26 21:03:10
现在数据库表中类型为自动编号的字段类型为长整型数字,而查询条件为一字符串数组,这样类型不匹配了,怎样转换呢?请教。。。



我知道

职务:普通成员
等级:4
金币:2.0
发贴:2211
注册:2002/2/8 13:02:46
#22002/4/27 8:01:08
你的查询条件是不是1,2,3,13........等等的数,只不过是字符串?



I''MAD

职务:普通成员
等级:8
金币:11.0
发贴:9502
注册:2001/9/16 20:00:53
#32002/4/27 13:00:30
在查询提交前转换。不要告诉我你不会这个吧,呵。。。



风之翅

职务:普通成员
等级:2
金币:10.0
发贴:540
注册:2001/1/31 14:48:59
#42002/4/27 21:07:34
就是我知道的意思,我不会怎么转换。。。



我知道

职务:普通成员
等级:4
金币:2.0
发贴:2211
注册:2002/2/8 13:02:46
#52002/4/28 8:54:41
例如ud中sql语句
SELECT *
FROM 表名
WHERE 字段名=参数

这个参数如果是字符串就要这样写:
SELECT *
FROM 表名
WHERE 字段名='参数'
就是参数这个变量要加单引号!

如果这个参数是数字就要这样写:
SELECT *
FROM 表名
WHERE 字段名=参数
就是参数这个变量不加引号!

你试试这样行不行!




风之翅

职务:普通成员
等级:2
金币:10.0
发贴:540
注册:2001/1/31 14:48:59
#62002/5/1 12:54:23
谢谢,不过我说的是数组。。。比如字符串为“1|15|9|24|19|76|”
已经搞定了,不过有点麻烦,不知有更好的方法没有。。。红色部分就是该字符串
Dim fidstr
fidstr = 0
If rsfavor.Fields.Item("favor").value <> "" Then fidstr = rsfavor.Fields.Item("favor").value
fidarray = Split(fidstr,"|")
lm_fid = fidarray(0)
for i = 1 to ubound(fidarray)
lm_fid = lm_fid + "," + fidarray(i)
next
set rsfavorfid = Server.CreateObject("ADODB.Recordset")
rsfavorfid.ActiveConnection = MM_conn_STRING
rsfavorfid.Source = "SELECT fid, fgroupname, fsubject FROM bbs WHERE fid in (" +lm_fid+ ")"
rsfavorfid.CursorType = 0
rsfavorfid.CursorLocation = 2
rsfavorfid.LockType = 3
rsfavorfid.Open()



aSir

职务:普通成员
等级:1
金币:0.0
发贴:78
注册:2002/4/8 23:07:54
#72002/5/1 19:42:44
split断开后,再用cint()强制转成数字类型即可



风之翅

职务:普通成员
等级:2
金币:10.0
发贴:540
注册:2001/1/31 14:48:59
#82002/5/1 21:49:39
好像是我原来搞错了,不是数据类型的问题,是查询用where in 时不能对应数组,只能对应集合???是这样吗?