主题:ASP代码 中如何将数据库中多条记录串成一个字符串提供给变量
傻瓜911
[专家分:150] 发布于 2008-02-14 16:19:00
在 asp代码 中 如何将数据库中多条记录串成一个字符串提供给变量,例如
select id from admin 的结果是
a
b
c
我现在想要的结果是 a,b,c 也就是把查询到的 记录连成一个用逗号分割后连成一个字符串,然后提供给Asp中的变量。 请问如何实现?
回复列表 (共2个回复)
沙发
yaozheng [专家分:28410] 发布于 2008-02-14 20:04:00
写个循环拼一下就可以了!
set rs= conn.execute("select id from admin")
str = ""
do while not rs.eof
str = str & rs("id") & ","
rs.movenext
loop
str = left(str,len(str)-1) '去掉最后一个多余的逗号
就可以了,代码根据你的改改就可以用了
板凳
傻瓜911 [专家分:150] 发布于 2008-02-15 20:24:00
同时公布一个 SQL 的方法! 表名为 ta 字段为 cid 和names 是一个简单的范例,可以实现我提出的问题! 其实这个函数还是很有用的,因为很可能经常要 获得多条记录 然后 转换成一个字符串 插入某个字段中!这是纯粹的 SQL 的写法! cid为临时增加的一个字段,默认值为1
--以ta为例,以cid分组合并,产生如下的数据结果
/*
cid nameS
1 a,b,c
1 d
1 e,f
*/
--函数实现
CREATE FUNCTION myJoinSTR(@cid INT)
RETURNS VARCHAR(1000)
AS
BEGIN
DECLARE @s VARCHAR(1000)
SELECT @s=ISNULL(@s+',','') + nameS FROM ta WHERE cid = @cid
RETURN @s
END
GO
SELECT DISTINCT cid,dbo.myJoinSTR(cid) nameS FROM ta
GO
我来回复