关于 OleDbCommand 的混淆

本文关键字:OleDbCommand 关于 | 更新日期: 2023-09-27 18:30:27

我知道要实例化一个新的OLEDbCommand对象,你需要这样做:

OleDbCommand command = new OleDbCommand(queryString, connection);

但是,我对这行代码在做什么感到困惑:

OleDbCommand cmd = aConnection.CreateCommand();

我知道 aConnection 是一个 OleDbConnection 对象,它在代码的前面被实例化了。

从 MSDN 库中我知道 CreateCommand() 是与 OdbcConnection 关联的 OdbcCommand 对象。 但是,图书馆并没有进一步解释其目的。

尽管我知道各个组件是什么,但我不确定这里发生了什么。 cmd 是否是正在实例化的 OleDbCommand 对象,以便能够使用 SQL 命令? 我推断这是因为在代码中还有以下内容:

cmd.CommandText = "SELECT * FROM Team where typeOfSport = '" + typeOfSport + "'";

关于 OleDbCommand 的混淆

根据MSDN aConnection.CreateCommand()

创建并返回与 OleDbConnection.

这基本上是一种方便的方法,它已经在命令上设置了相应的连接而无需设置CommandText - 因此,当您需要OleDbCommand对象而无需直接提供CommandText但稍后

...

它只是从连接对象创建一个命令。 该命令将与创建它的连接相关联。

OleDbCommand command = new OleDbCommand(queryString, connection);

OleDbCommand command = connection.CreateCommand()