大量控件提交表单问题

zhenkai 2006-03-10 09:02:06
各位老大:
小弟最近要做一个在线调查,调查表有30-40项,其中有checkbox和dropdownlist
其中有单选也有多选,不知怎么才能很方便的录入到数据库中呢?以前都是变量比较少,一条语句就可以了,现在这么多控件变量怎么办啊?
还有一个小问题,多选怎么录入呢?


谢谢谢谢
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhenkai 2006-03-10
  • 打赏
  • 举报
回复
再次感谢!
谢谢结题给分
Jianyi 2006-03-10
  • 打赏
  • 举报
回复
1.用 ID.values 也可以,,但需要循环页面控件了, Request.Form是一个名值对的集合,
放置了客户端Post的数据,控件的Value或Text属性其实也是从这个集合中自动获取的.

2.数据库字段名和表单上的控件名要对应, 这是因为客户端生成的html元素的name属性一般与服务器端的ID属性一样, 这样才可以直接循环 Request.Form

3. 这是为了拼出正确的insert语句 :
insert into table9(f1,f2,)values('','',) //this is err
insert into table9(f1,f2)values('','') //this is ok
zhenkai 2006-03-10
  • 打赏
  • 举报
回复
感谢jianyi0115(随意)

对我很有启发
有以下不明之处望答复
1。原来我插入数据时,都是控件ID.values,为什么您要Request.Form[field]?
2。数据库字段名和表单上的控件名在对应的情况下,是随便起吗?还是要有一定的规律?
3。这两句fields.StrmEnd( ';' );
values .StrmEnd( ';' );什么意思?

谢谢
Jianyi 2006-03-10
  • 打赏
  • 举报
回复
简单方法:
(前提:你的页面对应一个表)

将页面控件的ID于数据库相应字段值对应,然后录入时
循环Request.Form 生成sql语句,
string sql = "insert into table1 (";
string fields= "";
string values = "";
foreach( string field in Request.Form.Keys )
{
fields += field + "," ;
values += "'" + Request.Form[field] + "'," ;
}

fields.StrmEnd( ';' );
values .StrmEnd( ';' );

sql = sql + fields + ")values(" + values + ")";

//自己调整一下
zhenkai 2006-03-10
  • 打赏
  • 举报
回复
多选还是小问题,可以用“,”“."什么符号分开录入就行了,我至少这么认为
但关键的问题还是怎么把这么多数据录入到库中
是不是有什么遍历所有控件然后录入?
我没这么写过,请指教
谢谢
aspdotnet2005 2006-03-10
  • 打赏
  • 举报
回复
数据库设计要考虑全面些!并不是这些控件的问题
或者把多选项的健值都存入数据库,但这样做有点不科学。
如果多选不规则的话设计两个表可能会解决你产问题

62,253

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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