回 帖 发 新 帖 刷新版面

主题:ASP代码 中如何将数据库中多条记录串成一个字符串提供给变量

在 asp代码 中 如何将数据库中多条记录串成一个字符串提供给变量,例如 
select id from admin   的结果是  


c


我现在想要的结果是   a,b,c    也就是把查询到的 记录连成一个用逗号分割后连成一个字符串,然后提供给Asp中的变量。  请问如何实现?

回复列表 (共2个回复)

沙发

写个循环拼一下就可以了!
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) '去掉最后一个多余的逗号

就可以了,代码根据你的改改就可以用了

板凳

同时公布一个 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

我来回复

您尚未登录,请登录后再回复。点此登录或注册