Insert和Rs.Addnew
发布时间:2015年3月3日 作者:未知 查看次数:1432
Insert和Rs.Addnew还没遇到这样的情况,先记录下。 Insert和Rs.Addnew的比较 自:http://www.lzjh.info/mssql/show.asp?id=7 在MSSQL数据库中添加一条新记录,可以通过使用RecordSet对象的Addnew方法,和通过执行SQL语句中的insert语句实现。那两者有何区别呢? 从本质上讲,ADO的Addnew方法只是将“Insert into”语句封装了起来,所以,直接使用SQL语句将会大大加快存取数据的速度,因为它减少了ADO的“翻译”时间,尤其当对大量数据进行操作的时候表现得更为明显。但是直接使用SQL语句的缺点:不能传递太长的字段内容,在向数据库中IMAGE字段加入数据时,长文本数据时,就需要使用Addnew了。此外,当字段比较多时SQL语句将会很长而导致不易排错,推荐有经验的编程者优先考虑。 相比较而言,RecordSet对象的Addnew方法首先需要建立一个可更新的RecordSet对象,并且一直保持到Update结束,所以比较消耗系统资源。不过它的优点是灵活性比较好,代码容易阅读,除错方便,推荐新手使用。 附: 笔者在使用ASP+MSSQL2008添加记录的时候,页面出现过以下错误信息: Microsoft OLE DB Provider for SQL Server 笔者使用的是RecordSet对象的Addnew方法,代码如下:
set rs=server.CreateObject("adodb.recordset") sql="select * from product" rs.open sql,conn,1,3 '页面提示这行代码出错 rs.addnew '中间略去 rs.update Product表中有二十几万条数据,因此笔者觉得,出现错误的原因可能是RecordSet对象打开记录集过多。因此,建议大家,在给数据量大的表添加数据时,尽量少用RecordSet对象的Addnew方法。如果为了方便查看,非得用Addnew方法的话,不妨将代码改下,只读取一条数据,如:
|
|
|