欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

​ASP数据录入—AddNew方法详解 有大用

ASP数据录入—AddNew方法详解

 (2013-02-26 13:51:13)
标签: 

asp

 

数据录入

 

单条

分类: ASP总结

单条数据录入共有两种方法,一种是应用AddNew方法,另一种应用Insert语句。

 

AddNew方法:RecordSet对象的方法,为可更新的rdoResultset对象建立一个新行。

语法:object.AddNew

参数说明:

   object:对象表达式

  AddNew:准备一个新行,可以对它进行编辑,随后添加到由object使用update方法命名的rdoResultset对象中。新行修改完成后必须使用update方法保存修改值并将该行添加到解雇集中,使用update方法前数据库不做改变。当update方法被用到一个不可更新的对象时就会出发一个可以捕捉的错误。对于一个可更新到对象,rdocolumn、rdoResultset、rdoConnection对象也必须是可更新的。

 

注意:

1、如果对行使用了AddNew方法但未使用update,执行任何移动到另一行的操作修改将丢失且不会出现警告信息。

2、如果关闭object,或者结束声明object或其rdoConnection对象的过程,新的行机器修改将被废弃且不会出现警告信息。

 

如果数据源和游标类型支持,则新添加的行作为rdoResultset的一部分是可视的,如不包括在静态类型rdoConnection中。当新添加的行包含在rdoConnection中时,使用AddNew之前的行仍然是当前行。当行被添加到游标键集且希望它成为当前行时,可以将书签属性LastModified属性设置为BookMark。

 

如果需要取消一个挂起的AddNew操作可使用CancelUpdate方法,之后在使用Update方法时会引发一个RowCurrencyChange事件。

 

注意:RowCurrencyChange事件

   该事件是在结果集被重定位到一新行,或已经移动到 BOF 或 EOF 之后引发。任何一种 Move 方法,AbsolutePosition、PercentPosition 或 Bookmark 属性,或 Requery、MoreResults或 Update(在一个 AddNew 之后)方法也能引起当前行指针重定位并引发 RowCurrencyChange 事件。通过访问对象的 AbsolutePosition、PercentPosition 或 Bookmark 属性,可以决定当前位置。

  当一个被关联的主控文件行流动改变时,RowCurrencyChange 事件可用来执行一个详细的查询。例如,如果建立窗体,该窗体包含主控客户记录和与客户定单相对应的行的集合,则每当选择另一个主控客户记录时,可使用 RowCurrencyChange 事件进行查询,并能返回所有相关联的定单信息。

 

例:

<!--conn.asp-->

<%

set rs=server.createobject("adodb.recodset")

sql="select * from ddd"

rs.open sql,conn,1,3

 

rs.addnew

rs("name")=trim(request.form("name"))

rs("age")=trim(request.form("age"))

rs.update

rs.close

%>

 

AddNew()方法方便阅读,查找错误简单,但比较消耗系统资源,循环使用AddNew()方法可以实现数据批量添加,但效率不高,数据量大时会大量占用系统资源也容易造成脚本超时,延长脚本超时时间实在不是明智之举,不推荐使用此种方法用于数据批量添加。



来自 http://blog.sina.com.cn/s/blog_ae5b575f0101h9kz.html


普通分类: