sql问题,如何批量修改数据?

zxlh 2003-12-05 12:29:41
我查出一批纪录
就像收email一样,每条纪录前面有一个复选框,我怎么在其中几个纪录前的复选框打勾后提交,在每条纪录的时间字段里填个时间!


我的
复选框 <input type="checkbox" name="编号" value="<%=rs("编号")%>" >


提交后

<%
dim sSQL
sSQL ="update [j_superorder] set 入库实间="&now()&"where 编号 in ("&replace(request("编号"),"'","")&")"
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open sSQL,conn,3,3
%>
不行啊!
...全文
154 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
angelheavens 2003-12-05
  • 打赏
  • 举报
回复
IN一样,执行速度要慢点
monkeys 2003-12-05
  • 打赏
  • 举报
回复
漏了一点:
Dim ID,I
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&ID
Conn.Execute(sSQL)
next
monkeys 2003-12-05
  • 打赏
  • 举报
回复
Dim ID,I
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&ID
next
ce200311 2003-12-05
  • 打赏
  • 举报
回复
为什么楼主原来的方法就不行呢,我以前也用过In的方法,难道说SQL数据库不支持?
顶一下,大家就讨论如何用In的方法来做,循环会了啊
zxlh 2003-12-05
  • 打赏
  • 举报
回复
2位高人能详细些吗,我不太懂啊!
Reker熊 2003-12-05
  • 打赏
  • 举报
回复
<%
For Each iSelID In Request.Form("编号")
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&CInt(iSelID)
Conn.Execute(sSQL)
Next
%>
gshope 2003-12-05
  • 打赏
  • 举报
回复
让checkbox的value等于主键(比如是id),提交以后,你得到的是被选中的值,比如"1,2,5,9"
然后以,而split()形成数组,每个数组项再去update
angelheavens 2003-12-05
  • 打赏
  • 举报
回复
Dim ID,I
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
...
zwp315 2003-12-05
  • 打赏
  • 举报
回复
我的表里的字段

0 ID int 4 0
0 订单编号 char 13 0
0 实际入库 datetime 8 1

把所有的时间字段改为:datetime,你以为你的时间不存小时 份 妙?
zwp315 2003-12-05
  • 打赏
  • 举报
回复
正确答案来了
======================================
<%@LANGUAGE="VBSCRIPT" CODEPAGE="CP_ACP"%>
<!--#include file="conn.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<%
Dim ID,II
ID=Request.Form("id")
II=Split(ID,",")
for i=0 to ubound(II)
//response.write II(i)
sSQL ="update [j_superorder] set 实际入库='"&now()&"' where id="&II(i)
response.write sSQL
Conn.Execute(sSQL)
next
//把 实际入库 的类型 改为 datetime
%>

<body>
</body>
</html>
zxlh 2003-12-05
  • 打赏
  • 举报
回复
我的表里的字段

0 ID int 4 0
0 订单编号 char 13 0
0 实际入库 smalldatetime 4 1


主页

<FORM method="post" action="touser.asp">
<table width="750" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="150"><div align="center">物流编号</div></td>
<td width="150"><div align="center">联系人</div></td>
<td width="150"><div align="center">预计入库</div></td>
<td width="150"><div align="center">仓库区段</div></td>
<td width="150"><div align="center">操作</div></td>
</tr>
<% while not rs.eof and rowcount<rs.PageSize %>
<% rowcount=rowcount+1
NO=(page-1)*rs.PageSize+rowcount
%>
<tr>
<td><%=rs("物流编号")%></td>
<td><%=rs("厂家编号")%></td>
<td><%=rs("运费")%></td>
<td><%=rs("实际入库")%></td>
<td><input name="id" type="checkbox" value="<%=rs("id")%>" ></td>
<% rs.MoveNext %>
<% wend %>
</tr>
</table>
<div align="center">
<input type="submit" name="Submit" value="提交">
 
<input type="reset" name="Submit2" value="重置">
</div>
</form>

执行页:

<%
Dim ID,I
ID=Request.Form("id")
ID=Split(ID,",", "")
For I=0 to UBound(ID)
sSQL ="update [j_superorder] set 实际入库=#"&now()&"# where id="&ID
Conn.Execute(sSQL)

%>

还是不行啊!
arrowssystems 2003-12-05
  • 打赏
  • 举报
回复
把所有的checkbox的name设为一样,在各个checkbox的value里面设置对应数据库的key值。
提交后就会得到一个对象的集合,这个集合里包含了所有你选中的checkbox的value的值。
ljupin 2003-12-05
  • 打赏
  • 举报
回复
注意看看request("编号")有没有空格,有的话,先替换空格,用in可以同时更新多个记录
haoch00 2003-12-05
  • 打赏
  • 举报
回复

让checkbox的value等于主键(比如是id),提交以后,你得到的是被选中的值,比如"1,2,5,9"
然后以,而split()形成数组,每个数组项再去update

补充说明,用UBound()的到数组的最大下标,然后定义计数器i循环插入数据库


zwp315 2003-12-05
  • 打赏
  • 举报
回复
用 monkeys(study.net) 的好一点
zwp315 2003-12-05
  • 打赏
  • 举报
回复
把sql输出来,我看看
NetBoy 2003-12-05
  • 打赏
  • 举报
回复
这样的话你要将复选框设的name属性设为同一值,
接收的时候可以用同一变量接收,收到的信息是以(,)分开的,所以用的时间要以(,)为标识将其分开的,你上面只用了replace函数,并没有将其分开的,反而将标识(,)位给替换了.你看一下VBScript或者SQL Server里面有一个函数能将其分开,好像是slit(str,","),我记不清了,你查一下吧。
另外,也可以将Form提交的数据存入数组,然后以数组形式传入函数可能更好些。

最好用SQL Server内部的函数,性能更好些,用VBScript则兼容性好些,免得用其它的数据库时麻烦。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧