0

新しいOLEDbCommandオブジェクトをインスタンス化するには、次のようにします。

OleDbCommand command = new OleDbCommand(queryString, connection);

ただし、このコード行が何をしているのか混乱しています。

OleDbCommand cmd = aConnection.CreateCommand();

aConnectionは、コードの前半でインスタンス化されたOleDbConnectionオブジェクトであることを知っています。

MSDNライブラリから、CreateCommand()がOdbcConnectionに関連付けられたOdbcCommandオブジェクトであることがわかりました。しかし、図書館はその目的を説明するためにこれ以上進んでいません。

個々のコンポーネントが何であるかはわかっていますが、ここで何が起こっているのかわかりません。cmdはSQLコマンドを使用できるようにするためにインスタンス化されているOleDbCommandオブジェクトですか?コードのさらに先に次のようなものがあるので、これを推測します。

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

2 に答える 2

2

MSDN によるとaConnection.CreateCommand()

OleDbConnectionに関連付けられたOleDbCommandオブジェクトを作成して返します。

これは基本的に、コマンドでそれぞれの接続を設定せずにすでに設定している便利なメソッドです-したがって、直接ではなく後でオブジェクトを提供するCommandText必要があるときはいつでも、ユーティリティメソッドとして使用できます...OleDbCommandCommandText

于 2012-04-06T15:46:13.470 に答える
0

接続オブジェクトからコマンドを作成するだけです。コマンドは、作成元の接続に関連付けられます。

OleDbCommand command = new OleDbCommand(queryString, connection);

と同じです

OleDbCommand command = connection.CreateCommand()
于 2012-04-06T15:45:32.983 に答える