这是给你做的简单例子,让你有思路。当然具体问题具体分析。这样任何问题是难不到你的
希望你对ASP函数以及过程有所了解。我习惯于使用过程化。方法是很多的。关键是看你如何去归纳,
如何去构思。
例如数据库里的表建立是:
字段
id a b c d ee ee1 ff ff5 ff3 ff1 ff212 gg6 gg1 gg20 ee50
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Inc/Conn.asp"-->
<%
Set rs=server.CreateObject("adodb.recordset")
sql="SELECT * FROM ceshi_T where id=1"
rs.open sql,conn,1,1
if not rs.eof then
n = rs.Fields.Count - 1
'定义变量,这里需要你注意。
dim ee,ff,gg
dim e:e=0
dim f:f=0
dim g:g=0
for i=0 to n
'判断是否有ee
call getMoreValue("ee",ee,getF(i),getV(i),e)
'判断是否有ff
call getMoreValue("ff",ff,getF(i),getV(i),f)
'判断是否有gg
call getMoreValue("gg",gg,getF(i),getV(i),g)
next
'输出单个的
call w("<br>a对应值=",rs("a"))
call w("<br>b对应值=",rs("b"))
call w("<br>c对应值=",rs("c"))
'等等
'输出多个。。。。。
call w("<br>ee对应值(含多个)=",ee)
call w("<br>ff对应值(含多个)=",ff)
call w("<br>gg对应值(含多个)=",gg)
end if
'取得某个字段名
private function getF(Key)
getF= rs.Fields(Key).name
end function
'取得某个字段值
private function getV(Key)
getV= rs.Fields(Key).value
end function
'写出字段名对应的值
private sub w(key,val)
response.Write(key&" "&val)
end sub
'判断某个字段名含有子字符串与否,例如含有"aa","ee"."gg"
private function GetFieledsName(FieldsNameKey,fv)
dim flag:flag=false
if((InStr(fv,FieldsNameKey)>0)) then
flag=true
end if
GetFieledsName=flag
end function
'这里比较重要。针对你的题目而做。当然可以扩展到任意。
private sub getMoreValue(ObjKey,ObjVar,ObjeName,ObjValue,ObjIndex)
if(GetFieledsName(ObjKey,ObjeName)) then
if(ObjIndex=0) then
ObjVar=ObjValue
else
ObjVar=ObjVar&","&ObjValue
end if
ObjIndex=ObjIndex+1
end if
end sub
%>