4

私は疑問に思っていました、次のように、同じクエリでパラメータを複数回使用できますか?

MySqlParameter oPar0 = new MySqlParameter("e164", MySqlDbType.String);
oPar0.Value = user.E164;
string sSQL0 = "Delete from callmone.call where (caller=?e164 or called=?e164);";
clsDatabase.ExecuteSQL(sSQL0, oPar0);

これは可能ですか、それとも2つのパラメーターを書く必要がありますか?

4

2 に答える 2

4

データベースドライバが名前付きパラメータを処理する場合は、パラメータを再利用できます。

データベースドライバが名前付きパラメータを処理しない場合、パラメータ名は無視され、使用するたびに、使用される正確な順序で1つのパラメータ値を追加する必要があります。

提示したコードから、ドライバーは名前付きパラメーターをサポートしているように見えます。コードがエラーなしで実行される場合、それは機能します。ドライバがnamesパラメータをサポートしない場合、パラメータ値が1つしかないため、コードでエラーが発生します。

于 2010-06-08T13:40:07.213 に答える
2

それができない理由はわかりません。

于 2010-06-08T13:31:15.440 に答える