关于数据库查询语句的问题,困惑中...

来源:百度知道 编辑:UC知道 时间:2024/05/17 05:48:03
分析一下,以下两种写法到底有什么不同?
方法A:
Set Rs=Server.CreateObject("Adodb.RecordSet")
Rs.Open"Select * From [Table]",conn,1,3
Rs.AddNew
Rs("Test")=Request("Test")
Rs("Content")=Request("Content")
Rs.UpDate
Rs.Close
Set Rs=Nothing
方法B:
Conn.Execute(insert [Table] (Test,Content) Values ('"&Request("Test")&"','"&Request("Content")&"'))
请详细说明两种写发,具体都有什么区别?
用哪个更好些呢?针对MS-SQL数据库操作,说说理由,我喜欢用第一种,影响性能么?

方法B比方法A速度快,举个例子:当你去购买火车票时,需要排队,此时用的就是方法A,肯定也能买到,只不过需要等很长时间;而用方法B就是你直接插队,可以跑到最前面买,当然省时省力,我一般都用方法B。给你个建议,以后查询数据库非分页时都统一用方法B(快),除非你用分页时,再考虑方法A。

方法A是将数据放在数据集中,先对数据集进行操作,然后提交数据库.
方法B是直接对数据库进行操作.
用方法A相对来说操作更加的清楚,不易出错误.需要插入什么,什么值都是一一对应的,而方法B只是一条SQL语句,如果搞不好就会出现一些意想不到的错误了.比如连接字符串,缺少对象什么的.

方法A: 先返回数据,再插入数据
方法B: 直接插入数据

上面是相当于把它放在了内存中.
下面是相当于放在数据集里

后面的方法不需事先申明打开数据库以及事后关闭数据库

貌似没什么区别 都是向数据库插入记录