急,在线等,写数据库问题?
有两个程序idea_add.asp(新增客人意见表),还有提交后的程序idea_addok.asp
在idea_add.asp程序中有个文本框
<% set rs=server.createobject("adodb.recordset")
sql = "Select * From n_idea_mode "
rs.open sql,conn,1,1
if not rs.eof then
do while not rs.eof
%>
<input type="text" name="C_item" size="13" value="<%=rs("C_item")%>">
/ 也就是说在表n_idea_mode中里有个字段"c_item(调查项目)" 用文本框循环输出
<% rs.movenext
num=num+1
loop
end if
rs.close
%>
但提交后的程序idea_addok.asp是怎样写到数据表n_idea_check,在n_idea_check中有个字段"C_item"和id(自动增加),我是这样写的,但不对,望csdn同行们帮帮忙
<%
For Index = 1 to Request.Form("C_item").Count
C_item=request.form("C_item")(index)'(不知是否这样响应,是否问题在这里)
next
set rs=server.createobject("adodb.recordset")
sql="select * from n_idea_check "
rs.open sqll,conn,1,3
rs.addnew
rs("C_item")=C_item '(问题在这里,因为有好多行,在这里也只入写一行,所以是 错的,不知是怎样写入数据库.)
rs.update
问题点数:100、回复次数:9Top
1 楼sunyc(附庸风雅)回复于 2003-09-02 12:54:36 得分 5
方法有二。
其一,as I know 在post表单参数的时候,对同个变量多次赋值各个值会以逗号间隔存在该变量中,所以你可以利用类似indexof(C_item,",")的函数来分别提取里面的数字。
其二,如果上面的方法不行,那你可以在生成add页面的时候就给文本框定义不同的名字。方法如下:
dim i
i=0
do while not rs.eof
%>
<input type="text" name="C_item<%=i%>" size="13" value="<%=rs("C_item")%>">
<%
i=i+1
loop
%>
<input type="hidden" name=totalitem value=<%=i%> >
---------------------
把总生成的文本框数量i也一并传喽。
到addok里再处理。我想你一定可以的。我就不具体写了。午休快乐
Top
2 楼taogx(Dominic)回复于 2003-09-02 12:57:03 得分 5
你搞错了,用你的方法将得到num+1个C_item的元素,使用request.form返回的是一个字符串
它以逗号间隔C_item的值,比如你前面那个从n_idea_mode 中取回的C_item的值有1 3 4 5 7,那么你用request.form("C_item")将取得字符串"1,3,4,5,7"
你后面的程序不知道是什么意思,不明白你是要把所有的C_item还是最后一个放到n_idea_check 中。Top
3 楼sunyc(附庸风雅)回复于 2003-09-02 13:04:14 得分 0
你是说逗号只隔整形,对字符串没那个效果?啊,可能是这样的。不好意思啊。
我后面的意思是有动态生成多个C_item,分别是C_item0,C_item1等等。
这样不就可以在addok页里处理了?反正总数量i也传过去了嘛。可以把所有的分别
放到n_idea_check 里。老土了一点吧?哈哈。不过确实可行哦。Top
4 楼possible_Y(████本人签名需要刮开,方可看到 )回复于 2003-09-02 13:11:55 得分 10
<%
set rs=server.createobject("adodb.recordset")
sql="select * from n_idea_check "
rs.open sqll,conn,1,3
For Index = 1 to Request.Form("C_item").Count
rs.addnew
rs("C_item")=request.form("C_item")(index)
rs.update
next
Top
5 楼sunyc(附庸风雅)回复于 2003-09-02 13:15:57 得分 0
等等等,滔滔,我就是这个意思,如果C_item出现了N次分别是aaa,bbb,...
那最后从request.form里不是也能得到“aaa,bbb,....”的字符串?我就是这个意思嘛。Top
6 楼aspyaun()回复于 2003-09-02 14:28:40 得分 0
possible_Y(一切皆可能) 你好,问题是还有一个文本框
<input type="text" name="C_item" size="13" value="<%=rs("C_content")%>">我没有写出来,如果这样,那应怎样写数据库?
Top
7 楼aspyaun()回复于 2003-09-02 14:33:30 得分 0
taogx(滔滔) 您好,我后面的程序是一个一个写到数据库存,不是只写一行,
比如传过来,有aa,bb,cc那么在数据库有就这样
1 aa
2 bb
3 ccTop
8 楼2581314(2581314)回复于 2003-09-02 16:35:19 得分 80
简单问题
for index=1 to request.form("C_content").count
C_content=request.form("C_content")(index)
next
set rs=server.createobject("adodb.recordset")
sql="select * from n_idea_check "
For Index = 1 to Request.Form("C_item").Count
rs.addnew
rs("C_item")=request.form("C_item")(index)
rs("C_content")=request.form("C_content")(index)
rs.update
nextTop
9 楼fujiachun(傅加淳)回复于 2003-09-02 16:56:57 得分 0
set rs=server.createobject("adodb.recordset")
sql="select * from n_idea_check "
rs.open sqll,conn,1,3
For Index = 0 to Request.Form("C_item").Count-1
C_item=request.form("C_item")(index)'
rs.addnew
rs("C_item")=C_item
rs.update
next
Top




