日期:2014-05-16  浏览次数:21018 次

asp 循环问题
现在的情况是 每次插入数据库的时候都多一条数据

提交的值: 张三,李四,

如果把提交的值改为: 张三,李四   最后没有逗号就正常了!
但是前也提交的值不能改变 如何在这个页面处理呢!

目前的代码:
sendto=request("TO_NAME")

dim mysendto
mysendto=split(sendto,",",-1,1) 

for i=0 to ubound(mysendto) 

set conn=opendb("oabusy","conn","accessdsn")
set rs=server.createobject("ADODB.recordset") 
sql = "select * from senddate"
rs.Open sql,conn,1,3
rs.addnew 
rs("title")=title
Rs("documenttype")=documenttype
Rs("content")=content
rs("sender")=oabusyusername
rs("recipientusername")=mysendto(i)
rs("recipientuserdept")=recipientuserdept
rs("inputdate")=date
rs("filename")=linkpath
rs.update 

Response.Write(""&mysendto(i)&"")
next
rs.close
conn.close
set rs=nothing
set conn=nothing

------解决方案--------------------
sendto=request("TO_NAME")
 
dim mysendto        
mysendto=split(sendto,",",-1,1) 
 
for i=0 to ubound(mysendto) 
 if i=ubound(mysendto) then
else

set conn=opendb("oabusy","conn","accessdsn")
set rs=server.createobject("ADODB.recordset") 
sql = "select * from senddate"
rs.Open sql,conn,1,3
rs.addnew 
rs("title")=title
Rs("documenttype")=documenttype
Rs("content")=content
rs("sender")=oabusyusername
rs("recipientusername")=mysendto(i)
rs("recipientuserdept")=recipientuserdept
rs("inputdate")=date
rs("filename")=linkpath
rs.update 
 
Response.Write(""&mysendto(i)&"")
end if
next
rs.close
conn.close
set rs=nothing
set conn=nothing

这样不知道行不行
------解决方案--------------------
sendto=request("TO_NAME")
 
dim mysendto       
mysendto=split(sendto,",",-1,1) 
 
set conn=opendb("oabusy","conn","accessdsn")
set rs=server.createobject("ADODB.recordset") 

sql = "select * from senddate"
rs.Open sql,conn,1,3
'这些代码放外面来
for i=0 to ubound(mysendto) 
 if mysendto(i)<>"" then''''''''加是否为空的判断就好了
rs.addnew 
rs("title")=title
Rs("documenttype")=documenttype
Rs("content")=content
rs("sender")=oabusyusername
rs("recipientusername")=mysendto(i)
rs("recipientuserdept")=recipientuserdept
rs("inputdate")=date
rs("filename")=linkpath
rs.update 
Response.Write(""&mysendto(i)&"")
 end if
next
rs.close
conn.close
set rs=nothing
set conn=nothing

------解决方案--------------------
sql = "select * from senddate"
rs.Open sql,conn,1,3 
rs.addnew  
……
这种程序,效率极其低下!
你本意只是增加一条记录而已,干嘛要"select * from senddate"把所有表里的数据取出来呢???
如果这个表的数据上百万了,这是什么性能??
要插入记录,只用一条 insert 语句就好了,这是SQL中紧随 SELECT 之后的基本语句啊。