菜鸟提问:大批的数据录入,不知大家都采用什么方法?

yestoyes 2004-09-09 12:18:16
我的程序中需要录入大批的数据,表的字段有30多个,这些字段最好在一个页面上全显示,不然录入会很麻烦

现在我的初步设想是:每页10行,但10行30多列,就有300多个文本框,这些文本框的值都用Request.Form的方式传递,并且还要写入数据库,实在是烦,不知大侠们是否还有什么高招?请赐教!
...全文
192 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
原始资料是什么格式的?
  • 打赏
  • 举报
回复
一般是用手敲进去的。。别的方法还没发现哦。。。
fashchina 2004-09-09
  • 打赏
  • 举报
回复
烦的事情多着呢!呵呵
itakeblue 2004-09-09
  • 打赏
  • 举报
回复
原始资料是什么格式的?能不能导入到数据库?
wujiawen 2004-09-09
  • 打赏
  • 举报
回复
1.用split分离的方法
2.循环插入数据库中
即可
WNASP 2004-09-09
  • 打赏
  • 举报
回复
你先查看一下request.form的内容,你就会发现一些技巧了

然后用循环,一步写完所有的字段

别忘了给分:)
tpf9000 2004-09-09
  • 打赏
  • 举报
回复
循环产生 文本框 循环插入 数据库
香椿炒鸡蛋 2004-09-09
  • 打赏
  • 举报
回复
太多了 只贴出一个存储过程给你参考一下

ALTER procedure pro_lhnj_UpdateEnterpriseTable
(
--@xmldoc nvarchar(4000),
@xmldoc ntext,
@tableName nvarchar(255),
@enterpriseCode nvarchar(20)
)
/*
分析xml,得到临时表
*/
as
declare @hdoc int
EXEC sp_xml_preparedocument @hdoc OUTPUT, @xmldoc

select * into #temp1 from openxml(@hdoc,'/form1/field',1) with
(Dname nvarchar(100),--字段名
Dvalue nvarchar(4000),--字段值
DvalueType bit --构造语句时决定是否是否加"'符号"
)
--remove
exec sp_xml_removedocument @hdoc

--add to cursor
declare @Dname nvarchar(100),
@Dvalue nvarchar(4000),
@DvalueType bit,
@myUpdateSql nvarchar(4000)

set @myUpdateSql = 'update '+@tableName+' set flag=1, '

declare myCursor CURSOR for(select Dname,Dvalue,DvalueType from #temp1)
open myCursor
fetch next from myCursor into @Dname,@Dvalue,@DvalueType
while (@@fetch_status <> -1)
begin
if @@fetch_status <> -2
begin
--构造语句
set @myUpdateSql = @myUpdateSql + @Dname + '='
if @DvalueType = 0
begin
set @myUpdateSql = @myUpdateSql + ''''
set @myUpdateSql = @myUpdateSql + @Dvalue
set @myUpdateSql = @myUpdateSql + ''''
end
else
begin
if @Dvalue = '' set @Dvalue = 0
set @myUpdateSql = @myUpdateSql + @Dvalue
end
set @myUpdateSql = @myUpdateSql + ','
end
fetch next from myCursor into @Dname,@Dvalue,@DvalueType
end
close myCursor
deallocate myCursor

--清楚最后一个","
set @myUpdateSql = left(@myUpdateSql,len(@myUpdateSql)-1)
--加上条件
set @myUpdateSql = @myUpdateSql + ' where Var_qycode='''+@enterpriseCode+''''
--select * from #temp1
--print @myUpdateSql
香椿炒鸡蛋 2004-09-09
  • 打赏
  • 举报
回复
呵呵 我做过几百个字段的,用普通的方法效率太低了,而且容易出错,我采用的是XML的方法,页面绑定XML文件,经过解析处理成一个XML串,编写处理XML串的存储过程,在SQLServer里面处理,很快,也很安全。^_^
chang1216 2004-09-09
  • 打赏
  • 举报
回复
哪有什么办法 我还写过 200多个字段的呢 还有 文本框 一页600多个 没办法
  • 打赏
  • 举报
回复
那是没办法的事情
yestoyes 2004-09-09
  • 打赏
  • 举报
回复
TO 大笨狼:
我也是客户要求录入界面与传统软件的录入界面一样,也就是说传统软件的录入界面一般是用GRID控件绑定数据源直接进行添加、删除、编辑的,但在ASP中就不存在这样的控件了

所以我想用一大堆的文本框列成表格,而后进行相应的处理,但这么多的字段在写代码时不是太过繁琐了吗?不知有没更好的办法
chang1216 2004-09-09
  • 打赏
  • 举报
回复
或者用存储过程
hxnet 2004-09-09
  • 打赏
  • 举报
回复
手工录入
chang1216 2004-09-09
  • 打赏
  • 举报
回复
循环产生 文本框 循环插入 数据库
超级大笨狼 2004-09-09
  • 打赏
  • 举报
回复
输入方式要考虑好,有些属于字典类的数据,可以做下拉列表。
日期可以用htc控件。
我们的输入界面100多个字段呢,客户要求界面和传统手工录入界面一致。没办法。
用.net比较爽,否则光是验证就搞死人了。
超级大笨狼 2004-09-09
  • 打赏
  • 举报
回复
这个实验;

前台页面page1.html:

<FORM action="Page2.asp" method=POST id="form1">
<table id="myTable">
<tr >
<td id="myTd1">
<INPUT type="text" name="text1">内容
</td>
</tr>
</table>
<br/>
<button onclick="doAdd();" >AddRow</button>
<button onclick="doDel();" >DelRow</button>
<button onclick="form1.submit();">OK!</button>
</FORM>

<script>
var i=0;
function doAdd()
{
i=i+1;
var nowTable=document.all.myTable;
var newTr=nowTable.insertRow(i);
var newTd=newTr.insertCell(0);
newTd.innerHTML =myTd1.innerHTML;

//假设名字是随便取的
newTd.getElementsByTagName("INPUT")[0].setAttribute("name","text" + parseInt( Math.random() * 100));

//可以用下面这行测试新名字
alert( newTd.getElementsByTagName("INPUT")[0].getAttribute("name"));
//getAttribute("name"));

}
function doDel()
{
if(i>=1)
{
document.all.myTable.rows(i).removeNode();
i=i-1;
}
else
{
alert("不能全删光!");
}
}
</script>

后台页面page2.asp:

<%

for each myInput in Request.Form
Response.Write myInput
Response.Write "="
Response.Write Request(myInput)
Response.Write "<br/>"
next
%>


dayanmao 2004-09-09
  • 打赏
  • 举报
回复
嗯,楼上的好方法~~up
sunboby 2004-09-09
  • 打赏
  • 举报
回复
你可以写到一个文本框中
用","等分开,
得到的不就是个字符串了吗
然后用split分开
添加不就可以了吗

28,409

社区成员

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

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