就像收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
%>
不行啊!
17 个解决方案
#1
Dim ID,I
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
...
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
...
#2
让checkbox的value等于主键(比如是id),提交以后,你得到的是被选中的值,比如"1,2,5,9"
然后以,而split()形成数组,每个数组项再去update
然后以,而split()形成数组,每个数组项再去update
#3
<%
For Each iSelID In Request.Form("编号")
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&CInt(iSelID)
Conn.Execute(sSQL)
Next
%>
For Each iSelID In Request.Form("编号")
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&CInt(iSelID)
Conn.Execute(sSQL)
Next
%>
#4
2位高人能详细些吗,我不太懂啊!
#5
为什么楼主原来的方法就不行呢,我以前也用过In的方法,难道说SQL数据库不支持?
顶一下,大家就讨论如何用In的方法来做,循环会了啊
顶一下,大家就讨论如何用In的方法来做,循环会了啊
#6
Dim ID,I
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&ID
next
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&ID
next
#7
漏了一点:
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
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
#8
IN一样,执行速度要慢点
#9
这样的话你要将复选框设的name属性设为同一值,
接收的时候可以用同一变量接收,收到的信息是以(,)分开的,所以用的时间要以(,)为标识将其分开的,你上面只用了replace函数,并没有将其分开的,反而将标识(,)位给替换了.你看一下VBScript或者SQL Server里面有一个函数能将其分开,好像是slit(str,","),我记不清了,你查一下吧。
另外,也可以将Form提交的数据存入数组,然后以数组形式传入函数可能更好些。
最好用SQL Server内部的函数,性能更好些,用VBScript则兼容性好些,免得用其它的数据库时麻烦。
接收的时候可以用同一变量接收,收到的信息是以(,)分开的,所以用的时间要以(,)为标识将其分开的,你上面只用了replace函数,并没有将其分开的,反而将标识(,)位给替换了.你看一下VBScript或者SQL Server里面有一个函数能将其分开,好像是slit(str,","),我记不清了,你查一下吧。
另外,也可以将Form提交的数据存入数组,然后以数组形式传入函数可能更好些。
最好用SQL Server内部的函数,性能更好些,用VBScript则兼容性好些,免得用其它的数据库时麻烦。
#10
把sql输出来,我看看
#11
用 monkeys(study.net) 的好一点
#12
让checkbox的value等于主键(比如是id),提交以后,你得到的是被选中的值,比如"1,2,5,9"
然后以,而split()形成数组,每个数组项再去update
补充说明,用UBound()的到数组的最大下标,然后定义计数器i循环插入数据库
#13
注意看看request("编号")有没有空格,有的话,先替换空格,用in可以同时更新多个记录
#14
把所有的checkbox的name设为一样,在各个checkbox的value里面设置对应数据库的key值。
提交后就会得到一个对象的集合,这个集合里包含了所有你选中的checkbox的value的值。
提交后就会得到一个对象的集合,这个集合里包含了所有你选中的checkbox的value的值。
#15
我的表里的字段
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)
%>
还是不行啊!
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)
%>
还是不行啊!
#16
正确答案来了
======================================
<%@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>
======================================
<%@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>
#17
我的表里的字段
0 ID int 4 0
0 订单编号 char 13 0
0 实际入库 datetime 8 1
把所有的时间字段改为:datetime,你以为你的时间不存小时 份 妙?
0 ID int 4 0
0 订单编号 char 13 0
0 实际入库 datetime 8 1
把所有的时间字段改为:datetime,你以为你的时间不存小时 份 妙?
#1
Dim ID,I
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
...
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
...
#2
让checkbox的value等于主键(比如是id),提交以后,你得到的是被选中的值,比如"1,2,5,9"
然后以,而split()形成数组,每个数组项再去update
然后以,而split()形成数组,每个数组项再去update
#3
<%
For Each iSelID In Request.Form("编号")
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&CInt(iSelID)
Conn.Execute(sSQL)
Next
%>
For Each iSelID In Request.Form("编号")
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&CInt(iSelID)
Conn.Execute(sSQL)
Next
%>
#4
2位高人能详细些吗,我不太懂啊!
#5
为什么楼主原来的方法就不行呢,我以前也用过In的方法,难道说SQL数据库不支持?
顶一下,大家就讨论如何用In的方法来做,循环会了啊
顶一下,大家就讨论如何用In的方法来做,循环会了啊
#6
Dim ID,I
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&ID
next
ID=Request.Form("编号")
ID=Split(ID,",", ")
For I=0 to UBound(ID)
sSQL ="update [j_superorder] set 入库实间=#"&now()&"# where 编号="&ID
next
#7
漏了一点:
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
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
#8
IN一样,执行速度要慢点
#9
这样的话你要将复选框设的name属性设为同一值,
接收的时候可以用同一变量接收,收到的信息是以(,)分开的,所以用的时间要以(,)为标识将其分开的,你上面只用了replace函数,并没有将其分开的,反而将标识(,)位给替换了.你看一下VBScript或者SQL Server里面有一个函数能将其分开,好像是slit(str,","),我记不清了,你查一下吧。
另外,也可以将Form提交的数据存入数组,然后以数组形式传入函数可能更好些。
最好用SQL Server内部的函数,性能更好些,用VBScript则兼容性好些,免得用其它的数据库时麻烦。
接收的时候可以用同一变量接收,收到的信息是以(,)分开的,所以用的时间要以(,)为标识将其分开的,你上面只用了replace函数,并没有将其分开的,反而将标识(,)位给替换了.你看一下VBScript或者SQL Server里面有一个函数能将其分开,好像是slit(str,","),我记不清了,你查一下吧。
另外,也可以将Form提交的数据存入数组,然后以数组形式传入函数可能更好些。
最好用SQL Server内部的函数,性能更好些,用VBScript则兼容性好些,免得用其它的数据库时麻烦。
#10
把sql输出来,我看看
#11
用 monkeys(study.net) 的好一点
#12
让checkbox的value等于主键(比如是id),提交以后,你得到的是被选中的值,比如"1,2,5,9"
然后以,而split()形成数组,每个数组项再去update
补充说明,用UBound()的到数组的最大下标,然后定义计数器i循环插入数据库
#13
注意看看request("编号")有没有空格,有的话,先替换空格,用in可以同时更新多个记录
#14
把所有的checkbox的name设为一样,在各个checkbox的value里面设置对应数据库的key值。
提交后就会得到一个对象的集合,这个集合里包含了所有你选中的checkbox的value的值。
提交后就会得到一个对象的集合,这个集合里包含了所有你选中的checkbox的value的值。
#15
我的表里的字段
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)
%>
还是不行啊!
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)
%>
还是不行啊!
#16
正确答案来了
======================================
<%@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>
======================================
<%@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>
#17
我的表里的字段
0 ID int 4 0
0 订单编号 char 13 0
0 实际入库 datetime 8 1
把所有的时间字段改为:datetime,你以为你的时间不存小时 份 妙?
0 ID int 4 0
0 订单编号 char 13 0
0 实际入库 datetime 8 1
把所有的时间字段改为:datetime,你以为你的时间不存小时 份 妙?