关于OleDbCommand的困惑

时间:2012-04-06 15:40:17

标签: c#

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

OleDbCommand command = new OleDbCommand(queryString, connection);

但是,我对这行代码的作用感到困惑:

OleDbCommand cmd = aConnection.CreateCommand();

我知道aConnection是一个OleDbConnection对象,它在代码的早期实例化。

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

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

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

2 个答案:

答案 0 :(得分:2)

根据MSDN aConnection.CreateCommand()

  

创建并返回与之关联的OleDbCommand对象   的OleDbConnection。

这基本上是一种方便的方法,它已经在命令上设置了相应的连接而没有设置CommandText - 因此,无论何时需要OleDbCommand对象而不提供CommandText对象,它都可以用作实用方法。 {{1}}直接但稍后......

答案 1 :(得分:0)

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

OleDbCommand command = new OleDbCommand(queryString, connection);

相同
OleDbCommand command = connection.CreateCommand()