『壹』 在asp里,怎样用html里的表单提交多于255个字符
1.关于提交大数据量的问题:
提交方式用post,数据库字段用备注型
2.关于验证字符数,举个例子吧:
<script language="javascript">
function chk()
{
var str=document.getElementById("txt").value;
if(str.length>10000){
alert("提交内容不能大于10000字!")
return false;
}
}
</script>
<form method="post" action="topic.asp" onsubmit="return chk()">
<textarea id="txt"></textarea>
<input type="submit" value="提交">
</form>
客户端仅是简单的验证,具体的非法字符过滤,验证还要在服务端进行
『贰』 若要提交大数据量的数据,则应采用什么方法
post和get两种方法都是可以的,对于大数据量还是推荐使用post方法,不容易产生歧义!而且产生的url地址很干净!
『叁』 如何向Oracle数据库表中进行大数据量的插入并提交
一次折腾几千万的话,
那么设置一下,
有
20W了,
就自动提交一下。
set
autocommit
on;
set
autocommit
200000;
然后,假如你的目标数据库,
是归档的话,
可以
INSERT
/*+
append
*/
INTO
目标表
nologging
SELECT
*
FROM
源表@DBLINK;
commit;
set
autocommit
off;
假如你的
目标表
上面,
有
索引的话,
建议先删除
索引。
等
上面的
INSERT
语句执行完毕后,
再重建索引。
『肆』 前端上传大型文件或超长数据的解决办法
我们设计的上传文件大约在500m左右
我第一反应是blob,在HTML5中添加了blob类型用来定义前端较大数据,之前使用过blob流传输视频再使用html5中<video>标签读取blob流,所以blob可以作为这种文件传输的载体,那如何提交呢,使用可formdata提交blob数据,这种方式可以承受较大数据量的文件,但在使用formdata传输的过程中,浏览器会卡死,无法操作。
还是舍友提醒,可采用数据或歼分割的方式,一部分一部分上传。后经网络得知,文件分割要防止数据枣帆丢失进行大小校验,以及防止外部入侵,进行分段前端加密,后端校验。
网络发布了一款分割上传的组件web upload,可包含文件分割,大小校验等功能。
网站为: http://fex..com/webuploader/getting-started.html
佩服我们大学宿舍的技术氛围,出差回来的火车上跟大学舍衫岩冲友在微信上聊了两三个小时的技术,,,那天刚好是大学生开学那几天,路上好多大学生,好怀念自己的大学生活,好怀念与大学舍友谈天说地或技术探讨到深夜的日子
说了几个前端的问题,总结记录一下吧
其中只有一个我会的,,,先说这个问题,其他的我学习完再分享,留坑。。。。。。
『伍』 如何向Oracle数据库表中进行大数据量的插入并提交
一次折腾几千万的话, 那么设置一下, 有 20W了, 就自动提交一下。
set autocommit on;
set autocommit 200000;
然后,假如你回的目标数据库, 是归档的答话, 可以
INSERT /*+ append */ INTO 目标表 nologging SELECT * FROM 源表@DBLINK;
commit;
set autocommit off;
假如你的 目标表 上面, 有 索引的话, 建议先删除 索引。
等 上面的 INSERT 语句执行完毕后, 再重建索引。
『陆』 mysql 数据量超过百万后怎么处理
1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num is null
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
select id from t where num=0
4、尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num=10 or num=20
可以这样查询:
select id from t where num=10
union all
select id from t where num=20
5、下面的查询也将导致全表扫描:(不能前置百分号)
select id from t where name like ‘�1�7c%’
若要提高效率,可以考虑全文检索。
6、in 和 not in 也要慎用,否则会导致全表扫描,如:
select id from t where num in(1,2,3)
对于连续的数值,能用 between 就不要用 in 了:
select id from t where num between 1 and 3
7、如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然 而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。如下面语句将进行全表扫描:
select id from t where num=@num
可以改为强制查询使用索引:
select id from t with(index(索引名)) where num=@num
8、应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描。如:
select id from t where num/2=100
应改为:
select id from t where num=100*2
9、应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描。如:
select id from t where substring(name,1,3)=’abc’–name以abc开头的id
select id from t where datediff(day,createdate,’2005-11-30′)=0–’2005-11-30′生成的id
应改为:
select id from t where name like ‘abc%’
select id from t where createdate>=’2005-11-30′ and createdate<’2005-12-1′
10、不要在 where 子句中的“=”左边进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引。
11、在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使 用,并且应尽可能的让字段顺序与索引顺序相一致。
12、不要写一些没有意义的查询,如需要生成一个空表结构:
select col1,col2 into #t from t where 1=0
这类代码不会返回任何结果集,但是会消耗系统资源的,应改成这样:
create table #t(…)
13、很多时候用 exists 代替 in 是一个好的选择:
select num from a where num in(select num from b)
用下面的语句替换:
select num from a where exists(select 1 from b where num=a.num)
14、并不是所有索引对查询都有效,SQL是根据表中数据来进行查询优化的,当索引列有大量数据重复时,SQL查询可能不会去利用索引,如一表中有字段 sex,male、female几乎各一半,那么即使在sex上建了索引也对查询效率起不了作用。
15、索引并不是越多越好,索引固然可以提高相应的 select 的效率,但同时也降低了 insert 及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情况而定。一个表的索引数最好不要超过6个,若太多则应考虑一些不常使用到的列上建的索引是否有 必要。
16.应尽可能的避免更新 clustered 索引数据列,因为 clustered 索引数据列的顺序就是表记录的物理存储顺序,一旦该列值改变将导致整个表记录的顺序的调整,会耗费相当大的资源。若应用系统需要频繁更新 clustered 索引数据列,那么需要考虑是否应将该索引建为 clustered 索引。
17、尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接时会 逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。
18、尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。
19、任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。
20、尽量使用表变量来代替临时表。如果表变量包含大量数据,请注意索引非常有限(只有主键索引)。
21、避免频繁创建和删除临时表,以减少系统表资源的消耗。
22、临时表并不是不可使用,适当地使用它们可以使某些例程更有效,例如,当需要重复引用大型表或常用表中的某个数据集时。但是,对于一次性事件,最好使 用导出表。
23、在新建临时表时,如果一次性插入数据量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert。
24、如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先 truncate table ,然后 drop table ,这样可以避免系统表的较长时间锁定。
25、尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该考虑改写。
26、使用基于游标的方法或临时表方法之前,应先寻找基于集的解决方案来解决问题,基于集的方法通常更有效。
27、与临时表一样,游标并不是不可使用。对小型数据集使用 FAST_FORWARD 游标通常要优于其他逐行处理方法,尤其是在必须引用几个表才能获得所需的数据时。在结果集中包括“合计”的例程通常要比使用游标执行的速度快。如果开发时 间允许,基于游标的方法和基于集的方法都可以尝试一下,看哪一种方法的效果更好。
28、在所有的存储过程和触发器的开始处设置 SET NOCOUNT ON ,在结束时设置 SET NOCOUNT OFF 。无需在执行存储过程和触发器的每个语句后向客户端发送 DONE_IN_PROC 消息。
29、尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理。
30、尽量避免大事务操作,提高系统并发能力。
『柒』 若要提交大数据量的数据,则应采用什么方法
表单在form里面,使method=“get”就可以了,get和post传值相差不多,一般表现在安全性和传值的大小存在差异。相关的具体内容可以上网查查
『捌』 JSP页面表单怎么提交大数据,求分享,求交流
在动态生成table时对每个input赋予不同名称 然后数据提交时同样用生成表格的方法读取用户输入的数据 然后更新即可
『玖』 若要利用表单提交大数据量的数据,则应采用 提交方法,表单提交后的数据处理程序由表单的 属性指定
别是最后一问,好像有点奇怪,如何用Sql语句返回一个记录集的字段数?我都不明白!一下答案仅供参考啊!
一、单项选择题:(每空2分,共30分)
1.在编写ASP动态网页时,通常使用的脚本语言是( A )。
A. VBScript或JavaScript B. C# C. VB D. VB.net
2.若要获得名为form1的表单中文本框架user的值,以下方法正确的是( D )。
A. username= form1. user B. username=document. form1. user
B. username=document. user.value D. username=document. form1. user.value
3.以下标记中,可用来产生滚动文字或图片的是( B )。
A.<scroll> B. <marquee> C. <textarea> D. <iframe>
4.以下标记符中,用于设置页面标题的是( A )。
A. <title> B. <caption> C. <head> D. <html>
5.若要设置网页的背景图像为bg.jpg,以下用法中正确的是( A )。
A. <body background=bg.jpg> B. <body bground=bg.jpg>
C. <body image=bg.jpg> D. <body bgcolor=bg.jpg>
6.在静态网页中嵌入ASP代码时,为了与HTML标记符区分开来,这部分代码应使用( A )符号将其括起来。
A. <%...%> B. < ?... ?> C. <.../> D. <#...#>
7.ASP动态网页中的ASP代码是由( B )负责解释执行的。
A. 客户端浏览器 B. IIS Web服务器 C. 服务器端浏览器 D. HTML解释器
8.在ASP提供的内置对象中,利用( B )对象的write方法,可实现从Web服务器向客户端浏览器输出内容。
A. Request B. Response C. Server D. Session
9.服务器端要获得客户端所提交的表单数据,应使用( B )对象来实现。
A. Response B. Request C. Server D. Session
10. 记录集对象创建后为使其生效,应使用记录集对象的( A )方法来打开记录集。
A.open B. execute C. close D.openrecordset
11. 若要将记录集指针定位到记录集的最后一条记录,则可使用( D )方法来实现。
A.movefirst B. movenext C. moveprevious D. movelast
12.若要将虚拟路径转换为真实的物理路径,以下语句中正确的是(D )。
A.Response.mappath(虚拟路径) B. Request.mappath(虚拟路径)
C. Server.URLEncode(虚拟路径) D. Server.mappath(虚拟路径)
13.若要创建一个对于访问网站的所有用户都有效的变量flag,以下方法中正确的是( C )。
A.Session(“flag”)=0 B. Session(flag)=0
C. Application(“flag”)=0 D. Application(flag)=0
14.在服务器端,若要将页面导航到index.asp,应使用Response对象的( C )方法。
A.href B. Transfer C. Redirect D. flush
15.以下连接对象的创建方法,正确的是( D )。
A.conn=CreateObject(“ADODB.Connection”)
B. conn=Server.CreateObject(“ADODB.Connection”)
C. Set conn= Server.CreateObject(ADODB.Connection)
D. Set conn= Server.CreateObject(“ADODB.Connection”)
二、多选题(每题3分,共30分)
1. 下面哪些标记是用于HTML文件的头部的( ABD )
A.<Title> B.<Meta> C.<Embed> D.<Base>
E.<Frame> F.<Bgsound> G.<Form> H.<Pre>
2. 要获得记录集rs中,当前记录的“用户名”字段的值,该字段的顺序号为2,以下用法中,不正确的是( AEG )。
A.fdvalue=rs(2) B. fdvalue=rs.fields(“2”) C. fdvalue=rs.fields(2)
D. fdvalue=rs.fields(“用户名”) E. fdvalue=rs.fields(“用户名”).value
F. fdvalue=rs(用户名) G. fdvalue=rs(“用户名”)
3. 以下标记符中,没有对应的结束标记的是(BEGH )。
A. <body> B. <br> C. <html> D. <title> E. <img> F. <a>
G. <input> H. <link>
4.若表单提交时采用的是Get方式,则服务器端要获得表彰所提交的数据,可采用( BC )来实现。
A. Request.Form(“表单域名”) B. Request.QueryString(“表单域名”)
C. Request(“表单域名”) D. Request.QueryString(表单域名)
E. Request.Form(表单域名) F. Request(表单域名)
5.服务器向客户端输出“注册成功”,以下语句中能实现该操作要求的是( CD )。
A.Response.write 注册成功 B. Response.write(注册成功)
C.Response.write(“注册成功”) D. Response.write “注册成功”
6. 下面的HTML语句中,可以实现将文字颜色设置成黑色的是( AB )
A.<FONT Color=Black> B.<FONT Color=”#000000”>
C.<FONT Color=”000000”> D.< FONT Color=”FFFFFF”>
7.以下对ASP的描述,正确的是( ABCD )
A.ASP是一种Web编程语言 B. ASP页面运行于服务器端
C.ASP默认的脚本编程语言是VBScript,但也可使用其他的脚本语言
D.ASP除了可使用内置的对象外,也可根据需要创建其他对象,但所创建的对象必须在服务器上注册
8.以下对象哪些属于ASP内置的对象( ABDEG )
A.Request B. Response C. RecordSet D. Server E. Session
F. Connection H. Command G. Application
9.在VBScript中,字符串连接可使用的运算符有( AD )。
A. + B. - C. $ D. &
10.在以下事件中,属于浏览器自身产生的事件有( AC )。
A.Load B. Submit C. UnLoad D. MouseOver
三、填空题(每空1分,共15分)
1.判断记录指针是否到了记录集的末尾的属性是( EOF ),向下移动指针,可调用记录集对象的( MoveNext )方法来实现。
2.关闭连接并彻底释放所占用的系统资源,应调用连接对象的( Close )方法,并使用( Set )语句来实现。
3.为了建立与数据库的连接,必须调用连接对象的( Connection )方法,连接建立后,可利用连接对象的( Execute )方法来执行SQL语句。
4.表单对象的名称由( name )属性设定;数据提交方式由( method )属性来指定;若要提交大数据量的数据,则应采用( post )方法;表单提交后的数据处理程序由( action )属性指定。
5.若要获得当前记录集的记录条数,可使用( recordset )对象的( recordcount )属性来实现。另外,也可通过执行SQL语句( select count(数据名) from 数据表 )来获得表记录的总数,此时SQL语句执行后,所返回的记录集有( rs.count(0) )条记录,该记录有( )个字段。
四、判断题:(每题1分,共10分)
1.SQL语句不区分大小写,而VBScript语句则区分大小写。( F )
2.利用SQL的delete语句可删除一个表或索引。(T )
3.利用Application对象存储变量,可创建作用域跨页或跨用户的变量。(T )
4.Session对象所存储的变量,在当前用户所请求的每个页面中均有效。( F )
5、HTML文件存储在任何目录下都可以正常浏览到,而ASP文件只有存储在网站的虚拟目录或主目录下才能正常浏览到。( T )
6、表单使用Post方法传递数据,则接收页面可用Request.Querysting(“表单对象名称”)获取表单数据。( F )
7、在SQL语句中,用“%”表示一个任意字符。( T )
8.在JavaScript中,内置的对象在使用时必须创建它的实例。( T )
9. 要筛选出成绩表中数学成绩在80~90分之间(含80和90分),可用“Select * From 成绩表 where 数学 Between 80 To 90”语句。( X )
10.在浏览器中通过“查看”菜单下的“源文件”项,可查看ASP网页的真实源代码。( F )
五、程序填空:(每空3分,共15分)
(请按要求在相应位置填写合适的语句,或写出语句的作用)
<%
Set newconn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("MyDatabase.mdb") ‘该语句作用:将数据库虚拟路径转换为物理路径,并且赋值到Dbpath上_______________________
newconn.Open "provider=Microsoft.jet.oledb.4.0;data source=" & DBPath
SQLcmd = "select * from STOCK"
Set RS = newconn.Execute(SQLcmd)
%>
<table align="center">
<tr bgcolor="aqua">
<%For i = 0 To RS.Fields.Count - 1%>
<th><%=RS(i).Name%>
<%Next%>
<%DO While _not rs.eof_______________ %> <!--填语句:当指针没有指向文件尾的时候进行循环-->
<tr bgcolor="yellow">
<%For i = 0 To RS.Fields.Count - 1%>
<td><%=RS(i)%> ‘该语句作用:___循环输出当前计数___________________________
<%Next%>
<%
RS.MoveNext ‘该语句作用:____移动记录集指针到下一条____________________
Loop
RS.Close
newconn .colse______________ ‘关闭数据库连接对象
%>
</table>
『拾』 如何向Oracle数据库表中进行大数据量的插入并提交
一次折腾几千万的话,
那么设置一下,
有
20W了,
就自动提交一下。内
set
autocommit
on;
set
autocommit
200000;
然后,假如你的目标容数据库,
是归档的话,
可以
INSERT
/*+
append
*/
INTO
目标表
nologging
SELECT
*
FROM
源表@DBLINK;
commit;
set
autocommit
off;
假如你的
目标表
上面,
有
索引的话,
建议先删除
索引。
等
上面的
INSERT
语句执行完毕后,
再重建索引。