我在经典asp网站上从经典asp转换为.NET
问题描述:
时出现的一些问题,有一个objCMD
变量设置为Server.CreateObject("ADODB.Command")
的值。我认为objCMD
应该变成一个SqlCommand
.NET对象,但我需要首先确认。我仍然不确定Server.CreateObject("ADODB.Command")
正在做什么。我在经典asp网站上从经典asp转换为.NET
有人可以向我解释Server.CreateObject()
吗?
答
Server.CreateObject
从命名标识符创建一个COM对象,用于在asp中使用。
传入的字符串将标识需要创建供asp使用的COM对象(例如Msxml.DOMDocument
用于XML解析器,或者ADODB数据库命令对象,如您的示例中所示)。
正如您所猜测的,.NET中的ADODB.Command
的等效物是SqlCommand
对象。
答
Server.CreateObject本质上是创建一个指定类型的服务器对象。在你的情况下,它是一个ADO命令对象。
随着.Net,这已被替换为ADO.Net框架,它使用起来更简单。您将创建一个SqlCommand对象,就像您所指出的一样,以及一个DataAdapter或DataReader对象以及SqlCommand对象。
感谢您的回答。就在我的“ADODB.Command”声明下面,我有一个“Server.CreateObject(”ADODB.Recordset“)”对象。这正是我需要用一个DataAdapter或DataReader对象来替换,正如你所说的那样? – user408869 2010-09-07 20:03:25
在Recordset的情况下,如果要使用TableAdapter检索/操作数据,则可能需要使用DataTable;如果使用DataReader,则可能使用非数据表。 DataReader提供记录集结果的“一次性流”,一次记录一条记录,因此您可以根据需要选择如何处理数据。 – 2010-09-07 21:02:56