ASP数组,想把这个表中B字段的数据用逗号分割后提取出来写入另一个表中的不同字段里?请问用ASP怎么写程序?
access一个表AB12,3,4,5,6,7,8,9,..想把这个表中B字段的数据用逗号分割后提取出来写入另一个表中的不同字段里?请问用ASP怎么写程序?...
access 一个表
A B
1 2,3,4,5,6,7,8,9,..
想把这个表中B字段的数据用逗号分割后提取出来写入另一个表中的不同字段里?请问用ASP怎么写程序? 展开
A B
1 2,3,4,5,6,7,8,9,..
想把这个表中B字段的数据用逗号分割后提取出来写入另一个表中的不同字段里?请问用ASP怎么写程序? 展开
3个回答
展开全部
比如找A表中的rank字段以,分开,分别加入到B表的字段中
<%
'rank的值为a,b,c,d,e,f
set rs=server.CreateObject("adodb.recordset")
sql="select rank from a"
rs.open sql,conn,1,3
if not rs.eof then
do while not rs.eof
rank=rs("rank")&",,,,,,,,,,,,,"'这里之所以要加后面的字符串的原因在于:第一是rs("rank")字段中没有",",第二是b表中取的xrank(4)若在rs("rank")没有的情况下,会报错,没以这里加上后面的字符串,就自定义其xrank(4)为空的
xrank=split(rank,",")
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from b"
rs1.open sql1.conn,1,3
rs1.addnew
rs1("b1")=xrank(0)
rs1("b2")=xrank(1)
rs1("b3")=xrank(2)
rs1("b4")=xrank(3)
rs1("b5")=xrank(4)
rs1.update
rs.movenext
loop
end if
%>
<%
'rank的值为a,b,c,d,e,f
set rs=server.CreateObject("adodb.recordset")
sql="select rank from a"
rs.open sql,conn,1,3
if not rs.eof then
do while not rs.eof
rank=rs("rank")&",,,,,,,,,,,,,"'这里之所以要加后面的字符串的原因在于:第一是rs("rank")字段中没有",",第二是b表中取的xrank(4)若在rs("rank")没有的情况下,会报错,没以这里加上后面的字符串,就自定义其xrank(4)为空的
xrank=split(rank,",")
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from b"
rs1.open sql1.conn,1,3
rs1.addnew
rs1("b1")=xrank(0)
rs1("b2")=xrank(1)
rs1("b3")=xrank(2)
rs1("b4")=xrank(3)
rs1("b5")=xrank(4)
rs1.update
rs.movenext
loop
end if
%>
展开全部
这么写,必要的地方给你带上了注释。
假如已经打开数据源并取出了B字段的值,B = Rs("B")。
=============================================
'用For 循环,这个字符串当做一维数组来看待,进行拆分。
Dim Ary = UBound(Split(B,",")) '根据逗号拆分,得到这个数组的最大长度。
For k = 0 To Ary
Curt_B = Split(B,",")(k) '数组的每个值
SQL = "Insert Into 表名 () Values ()" '用Insert语句写入你想写入的表。
Conn.Execute (SQL)
Next
这是循环写入另外一个表中,你表达的意思不太清楚,另一个表的字段是多个,一个对应一个?还是就一个字段,多条记录?不过参考这个,你应该会写了。
假如已经打开数据源并取出了B字段的值,B = Rs("B")。
=============================================
'用For 循环,这个字符串当做一维数组来看待,进行拆分。
Dim Ary = UBound(Split(B,",")) '根据逗号拆分,得到这个数组的最大长度。
For k = 0 To Ary
Curt_B = Split(B,",")(k) '数组的每个值
SQL = "Insert Into 表名 () Values ()" '用Insert语句写入你想写入的表。
Conn.Execute (SQL)
Next
这是循环写入另外一个表中,你表达的意思不太清楚,另一个表的字段是多个,一个对应一个?还是就一个字段,多条记录?不过参考这个,你应该会写了。
追问
是一个对应一个
追答
那就一个对应一个做。
B1 = Split(B,",")(0) '第一个值
B2 = Split(B,",")(1) '第二个值
B3 = Split(B,",")(2) '第三个值
B4 = Split(B,",")(3) '第四个值
......
然后Insert 另外一个表就可以了。
注意你的B的值的个数,一定要保持一致,比如是9个,就都是9个。下标从0开始,因为数组指针是从0开始的,不然的话,程序就会提示:下标越界。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用split(rs("B"),",")拆分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询