2012-04-06 14 views
0

が、私はそれはあなたがこれを行う新しいOleDbCommandオブジェクトインスタンス化するために、知っている:しかし混乱についてのOleDbCommand

OleDbCommand command = new OleDbCommand(queryString, connection); 

をこのコード行が何をしているか、私はとのように混乱しています:

OleDbCommand cmd = aConnection.CreateCommand(); 

私が知っていますaConnectionは、コード内で先にインスタンス化されたOleDbConnectionオブジェクトです。

私は、CreateCommand()がOdbcConnectionに関連付けられたOdbcCommandオブジェクトであることを知っています。しかし、図書館はその目的を説明するために実際にはそれ以上は行っていません。

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

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

答えて

0

ただ接続オブジェクトからコマンドを作成しています。コマンドは、作成された接続に関連付けられます。

OleDbCommand command = new OleDbCommand(queryString, connection); 

MSDNaConnection.CreateCommand()によれば

OleDbCommand command = connection.CreateCommand() 
+0

"新しいステートメントでコマンドを作成し、接続プロパティを接続オブジェクトに設定するのと同じです。" OK。本質的にはそれはショートカットです。私はあなたがそれを行うことができるかどうかはわかりませんでしたご助力ありがとうございます。 –

2

と同じである。

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

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

+0

ありがとうございます。 –

+0

@ProgrammingNewbieあなたは歓迎します:-)助けて受け入れられた回答としてupvote/markを忘れないでください(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answerを参照してください)。 -作業)。 – Yahia

+0

完了。何らかの理由で、システムは6分待ってから、受け入れられた回答をアップヴォート/マークすることができます。炎戦争が起これば、テンダーを冷やすことだと思います。 –

関連する問題