工作中存在以下的现实问题。
收到一批连续编号的货物,需要录入数据库,目前操作是一条一条的录入,用的是asp+sql,insert相关命令
inserted into 表 (各列,编号等) values (各值,'编号'等)
我想通过请求一个批量增加命令,可通过for循环,一交添加指定个数的货物。如收到一批货,可能是30个,也可能是22个,也可能是1个,第一个编号可能是为2202201987,也可能是2009190896,后面连续编号。
我想的是,填写第一个货物的编号noid,填写货物个数goodsnum,点击添加后,可实现批量入库。这种情况下,如何通过asp+sqlserver实现。
自动生成编号?sqlserver支持批量sql语句执行,组合成多条sql语句一次性用conn.execute执行就行了
示例代码如下
<%@ language="vbscript" codepage="65001" %>
<meta charset="utf-8" />
<%
'get提交注意改这里数据获取方式
noid=request.Form("noid")&""
goodsnum=request.Form("goodsnum")&""
if (not isnumeric(noid)) or (not isnumeric(goodsnum)) then
Response.Write "<script>alert('编号和货物个数为数字!');history.back()</script>"
Response.End
end if
sql=""
noid=cdbl(noid)
goodsnum=cint(goodsnum)
for i=1 to goodsnum
sql=sql&"insert into 表(编号,...其他列自己加)values('"&noid&"',其他值自己加上)"&vbnewline
noid=noid+1
next
Response.Write(sql)'conn.execute自己加上,这里只输出sql
%>
如果你自己是运维,能有打开数据库的权限和密码,又有数据的电子档。为什么不直接导入数据呢?省时省力,sql语句都不用写
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!