Sql server ADO中Connection.Execute和Command.Execute的区别是什么? 我使用ADO/Visual C++访问SQL Server数据库引擎。我发现connection和command对象都有Execute方法,如下所示:
(ADO连接) (ADO命令) 两者都将执行SQL查询并返回一个记录集Sql server ADO中Connection.Execute和Command.Execute的区别是什么? 我使用ADO/Visual C++访问SQL Server数据库引擎。我发现connection和command对象都有Execute方法,如下所示:,sql-server,Sql Server,(ADO连接) (ADO命令) 两者都将执行SQL查询并返回一个记录集 在这种情况下,它们之间的区别是什么?为什么MS将提供两个具有相同功能的函数? 我认为这是关于灵活性和对象创建的速度(更少的代码行供您键入)。如果需要以较少的开销向SQL发送查询,请使用连接。如果您想创建一个命令并利用该命令的参数(强烈建议)或其他功能,那么最好使用它。开销更多,但提供的功能更好 只需使用命令,它会更好。我认为重要的是要指出,开销很小,而且考虑到sql注入的危险性,在大多数情况下使用带参数的命令是一个好主意。如
在这种情况下,它们之间的区别是什么?为什么MS将提供两个具有相同功能的函数? 我认为这是关于灵活性和对象创建的速度(更少的代码行供您键入)。如果需要以较少的开销向SQL发送查询,请使用连接。如果您想创建一个命令并利用该命令的参数(强烈建议)或其他功能,那么最好使用它。开销更多,但提供的功能更好
只需使用命令,它会更好。我认为重要的是要指出,开销很小,而且考虑到sql注入的危险性,在大多数情况下使用带参数的命令是一个好主意。如果您执行的sql没有参数,并且该sql来自受信任的源,那么使用connection.execute会减少代码行数。减少代码是一件好事,因此在这种情况下可能是更好的选择。速度几乎是白色的设计时间速度。