注册 登录
编程论坛 SQL Server论坛

group by的问题

jellva 发布于 2012-03-20 15:35, 472 次点击
数据库
id periods(期数) state
1 2012年1月1期 已购买
2 2012年1月1期 已提交
3 2012年1月2期 已购买
4 2012年1月2期 null
5 2012年1月3期 已购买


想实现的功能是只显示不重复的期数,然后根据期数修改状态是“已购买”的state

以下代码是主要实现功能的

fh.asp
<form name="form1" method="post" action="fh_update.asp">
sql="select periods from t_book  where state='已提交'  group by periods order by periods desc"
sql2="select state from t_book "
set rs=Server.CreateObject("ADODB.RecordSet")
set rs2=Server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,3
rs2.open sql2,conn,1,3
  <td><%=rs("periods")%></td>
  <td><input type="checkbox" name="cid" value="<%=rs("periods")%>">
<td><input type="submit" name=ok value="发货" >     </td>
  <td "><%=rs2("periods")%></td>
</form>


fh_update.asp
<!--#include file="conn.asp"-->
<%
cids = request.Form("cid")
set rs=Server.CreateObject("ADODB.RecordSet")
sql = "update t_book SET state=‘已发货’ WHERE state=‘已提交’ and  periods IN(" & cids & ")"
rs.open sql,conn,3,3
conn.Execute sql
conn.close
Set conn = Nothing
  Response.Write "<center>发货成功<br><br><br>"   
  Response.Write "<a href = fh.asp>返回</a>"   
  %>




出错
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: '年1月3期' 附近有语法错误。

/shopnew/fh_update.asp,行 6

问题是怎么实现根据状态是按“已购买”来修改。。。用group by 和是distinct好呢?
0 回复
1