|
主题: 怎样转换数字类型
|
 风之翅
职务:普通成员
等级: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 时不能对应数组,只能对应集合???是这样吗?
|