多条记录提交,判断记录条数的问题,分数不够再加。

liangjianshi 2005-11-26 03:20:46
打开表单页面,已有10条记录。在填写记录时,若记录超过10条,可以按页面中的“添加行”按扭增加行数;记录填写完毕,按“提交”按扭提交入库。
记录填写时,有时可能不到10条,有时可能超过10条。问题是怎么判断填写的记录条数。
该表单页面在
http://www.3q5.com/user1/1447/archives/2005/5925.htm
请大家多帮忙!
或有这方面的资料请发到邮箱:
hao_shan_shan@yahoo.com.cn
多谢!!!
...全文
190 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
hreoghost 2006-04-01
  • 打赏
  • 举报
回复
lisoon((水翡草芥--突然想去扫街))

正解```学习``
singlezym 2005-11-29
  • 打赏
  • 举报
回复
[Microsoft][ODBC SQL Server Driver]小数截位。
这是数据类型的问题
liangjianshi 2005-11-29
  • 打赏
  • 举报
回复
真是奇怪的问题,不明白为什么老是提示
Microsoft OLE DB Provider for ODBC Drivers (0x80040E2F)
[Microsoft][ODBC SQL Server Driver]小数截位。
这样的不定个说的多记录提交的问题该怎么解决啊?
showlin 2005-11-28
  • 打赏
  • 举报
回复
我以前的解决方法是在页面上加一个隐藏域,用来计算有多少行的
“增加行”的时候,用javascript把隐藏域的值加一
处理的时候
可以这样
for i=1 to num
if trim(request("field"&i))="" then exit for
'正常增加记录
.
.
.

next
liangjianshi 2005-11-28
  • 打赏
  • 举报
回复
还是那个错误。数据类型我也改过,试了好几中了,都是一个错误。
啊,痛苦啊。
lisoon 2005-11-28
  • 打赏
  • 举报
回复
<%
'判断填写记录的个数
t=request("kcsl")
t=split(t,",")
bhsdj=split(request("bhsdj"),",")
bhsjer=split(request("bhsjer"),",")

for i=0 to ubound(t)
if trim(t(i))<>"" then'有时有多余的空栏没有填,所以最好以必填字段来判断。
set rs=server.CreateObject("adodb.recordset")
sql="select * from djieb"
rs.open sql,conn,1,3
rs.addnew
rs("rq")=now()
rs("bhsdj")=trim(bhsdj(i))
rs("bhsjer")=trim(bhsjer(i))
rs("kcsl")=trim(t(i))
rs.update
rs.close
end if
next

%>
如果还有错,你就要检查你的数据类型了。看是不是与字段不配置。
liangjianshi 2005-11-28
  • 打赏
  • 举报
回复
上面代码中的rs.update,去掉后运行也不显示错误,但是数据库中记录却没入库,加上rs.update后,就显示
Microsoft OLE DB Provider for ODBC Drivers (0x80040E2F)
[Microsoft][ODBC SQL Server Driver]小数截位
改变字段的类型也不行。请大家帮忙啊。
liangjianshi 2005-11-28
  • 打赏
  • 举报
回复
<%
'判断填写记录的个数
t=request("kcsl")
t=split(t,",")
if isarray(t) then
for i=0 to ubound(t)

set rs=server.CreateObject("adodb.recordset")
sql="select * from djieb"
rs.open sql,conn,1,3
rs.addnew
rs("rq")=now()
rs("bhsdj")=Cint(split(request("bhsdj"),",")(i))
rs("bhsjer")=Cint(split(request("bhsjer"),",")(i))
rs("kcsl")=Cint(split(request("kcsl"),",")(i))
rs.update
rs.close
next
end if
%>
hongzi001179 2005-11-28
  • 打赏
  • 举报
回复
做个记号
lisoon 2005-11-28
  • 打赏
  • 举报
回复
贴出你的接受页代码。
liangjianshi 2005-11-28
  • 打赏
  • 举报
回复
这样也不行啊,我试过了。
lisoon 2005-11-28
  • 打赏
  • 举报
回复
exp=request("bhsdi")
exp=split(exp,",")
//////////////////////略
rs("bhsdj")=exp(i)
这样用。
liangjianshi 2005-11-28
  • 打赏
  • 举报
回复
即使改成从零开始,也还是提示:
Request 对象, ASP 0105 (0x80004005)
数组索引越界。
看来是它的问题
rs("bhsdj")=request("bhsdi")(i)
rs("bhsje")=request("bhsje")(i)
rs("kcsl")=request("kcsl")(i)
也许这样写不对。怎么判断填写的记录条数,然后怎么提交入库,请大家多帮忙,我实在弄不好了。
ytzz 2005-11-27
  • 打赏
  • 举报
回复
看看有些无组件上传的example里面应该有你想要的东西
lzhblacker 2005-11-27
  • 打赏
  • 举报
回复
是从0 开始的

用数组
===========
t=request("shliang")
t=split(t,",")
=============
要注意只有一条记录的情况
ailincn 2005-11-27
  • 打赏
  • 举报
回复
对的,是0呵呵,不过楼主的意思我没大懂
fhsoft8508539 2005-11-27
  • 打赏
  • 举报
回复
i好像是从0开始计算,不是1



====天堂世家====
MSN:fhsoft@hotmail.com
QQ:85850256


liangjianshi 2005-11-27
  • 打赏
  • 举报
回复
就是变成固定的两条记录,
<%
set rs=server.CreateObject("adodb.recordset")
sql="select * from djieb"
rs.open sql,conn,1,3
for i=1 to 2
rs.addnew
rs("rq")=now()
rs("bhsdj")=request("bhsdi")(i)
rs("bhsje")=request("bhsje")(i)
rs("kcsl")=request("kcsl")(i)
rs.update
rs.close
next
%>
提交的时候还是提示:
Request 对象, ASP 0105 (0x80004005)
数组索引越界。
是不是我写的不对。请大家多多帮助
liangjianshi 2005-11-27
  • 打赏
  • 举报
回复
<%
t=request("shliang")
t=split(t,",")
for i=0 to ubound(t)
if t(i)<>"" then
set rs=server.CreateObject("adodb.recordset")
sql="select * from djieb"
rs.open sql,conn,1,3
rs.addnew
rs("rq")=now()
rs("bhsdj")=request("bhsdi")(i)
rs("bhsje")=request("bhsje")(i)
rs("kcsl")=request("kcsl")(i)
rs.update
rs.close
next
%>
为什么这样提交的时候老是提示:
Request 对象, ASP 0105 (0x80004005)
数组索引越界。
我时新手,刚接触asp,请大家多指教,告诉我该如何做这样的多记录提交。
liangjianshi 2005-11-27
  • 打赏
  • 举报
回复
顶 。。。。
加载更多回复(2)

28,391

社区成员

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

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