30个文本域的值循环写入数据库中,并以‘,’分隔开的问题?

michel2l8 2008-04-14 08:58:36
页面中有30个文本域,而且里面都显示了1个字符如:'a',文本域的设置如下:
<input type="text" name="test" size=1>
<input type="text" name="test" size=1>
<input type="text" name="test" size=1>

。。。

<input type="text" name="test" size=1>第30个文本域

这样来组成30个文本域数组(默认从0开始)

我现在想在页面中放置1个提交按钮,当点提交时候会循环将这30个文本域中的值写入数据库中表com中的'aa'字段中去,并且以','分隔开来,例如:"a,f,x,g,w...d"(30个字符),中间不允许有空格。


在这里我把这30个文本域从数据库中循环取值并显示在文本域中的代码贴出来供大家参考:
<script type="text/javascript">
var s = "<%=rs("aa")%>";
var a = s.split(",");
var ipts = document.getElementsByName("test");
for (var i = 0, l = ipts.length; i < l; i ++) {
ipts[i].value = a[i];
}
</script>

请问我该怎么写这30个文本域的值循环写入数据库中的代码?
...全文
127 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
michel2l8 2008-04-14
非常感谢,按照你的方法可以了。
回复
michel2l8 2008-04-14
oldjwu :

我做了修改:strsql = "UPDATE [com] SET aa = '" & str & "' WHERE id = " & id & ";"
已经修改了数据,谢谢!

现在仅有的问题是每次修改后在数据前都会添加1个空格,如何把aa字段中的空格全部去掉?或者说每次修改的时候能用什么方法把空格去掉呢???
回复
oldjwu 2008-04-14
做修改的话最好这样写:
strsql = "UPDATE [com] SET com = '" & str & "' WHERE id = " & id & ";"

INSERT关键字主要用作插入记录,UPDATE语句主要用作更新/修改记录。

要去掉添加记录中的空格?服务器端接收到的记录逗号后有空格吗?把空格替换为空就行了吧。
比如:

Dim str   
str = Request.Form("text")
str = Replace(str, ", ", ",") '不好意思,上面一次回答少写了个逗号
'或者
str = Replace(str, " ", "")
回复
oldjwu 2008-04-14
做修改的话最好这样写:
strsql = "UPDATE [com] SET com = '" & str & "' WHERE id = " & id & ";"

INSERT关键字主要用作插入记录,UPDATE语句主要用作更新/修改记录。

要去掉添加记录中的空格?服务器端接收到的记录逗号后有空格吗?把空格替换为空就行了吧。
比如:

Dim str
str = Request.Form("text")
str = Replace(str, ", ", "")
回复
michel2l8 2008-04-14
做了修改:
strsql="insert into com(aa) values('" & str & "') where id="&id&""

这样应该可以实现修改了根据ID号,但是怎么报错:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] SQL 语句的结束位置缺少分号 (;)。
/wy/admin/message1.asp, 第 56 行
回复
michel2l8 2008-04-14
每次点提交都是新添加1条记录,而不是在原来的数据上修改,另外如何去掉添加记录中的空格???这非常重要,谢谢!!!
回复
michel2l8 2008-04-14
我看了下数据库,确实修改了数据,但是怎么添加了新记录,而没有在原来基础上修改啊?
回复
michel2l8 2008-04-14
Helen_YM :不行啊!

我按你说的做

dim str
str=request.form("text")
strsql="insert into com(aa) values('" & str & "')"
conn.execute strsql

结果没有修改,我郁闷了我
回复
Helen_YM 2008-04-14
我建议你在存储文本的时候转换一下,否则,你填写的文本里面本身就有逗号的话就麻烦了。
回复
Helen_YM 2008-04-14
dim str
str=request.form("text")
str不就是这30个文本框用“, “分隔开的值嘛。
strsql="insert into tablename(aa) values('" & str & "')"
回复
michel2l8 2008-04-14
自己顶了
回复
michel2l8 2008-04-14
意思还不够清楚?

就是说我要把这个文本域数组(30个)的值通过循环取值的方法写入access数据库中com表中的'aa'字段中,格式以','将每个值分隔开,请问这个代码怎么写?
回复
wanghui0380 2008-04-14
没明白啊,直接用request就是了,同name的文本域传过去的值就是你要的这种形式的
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-04-14 08:58
社区公告
暂无公告