Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server ADO中Connection.Execute和Command.Execute的区别是什么? 我使用ADO/Visual C++访问SQL Server数据库引擎。我发现connection和command对象都有Execute方法,如下所示:_Sql Server - Fatal编程技术网

Sql server ADO中Connection.Execute和Command.Execute的区别是什么? 我使用ADO/Visual C++访问SQL Server数据库引擎。我发现connection和command对象都有Execute方法,如下所示:

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注入的危险性,在大多数情况下使用带参数的命令是一个好主意。如

(ADO连接) (ADO命令)

两者都将执行SQL查询并返回一个记录集


在这种情况下,它们之间的区别是什么?为什么MS将提供两个具有相同功能的函数?

我认为这是关于灵活性和对象创建的速度(更少的代码行供您键入)。如果需要以较少的开销向SQL发送查询,请使用连接。如果您想创建一个命令并利用该命令的参数(强烈建议)或其他功能,那么最好使用它。开销更多,但提供的功能更好


只需使用命令,它会更好。

我认为重要的是要指出,开销很小,而且考虑到sql注入的危险性,在大多数情况下使用带参数的命令是一个好主意。如果您执行的sql没有参数,并且该sql来自受信任的源,那么使用connection.execute会减少代码行数。减少代码是一件好事,因此在这种情况下可能是更好的选择。速度几乎是白色的设计时间速度。