単一のパラメーターを持つ (および変更された) 文字列としてクエリを実行していますが、奇妙な動作が発生しています。コードは次のとおりです。
String cmd = "SELECT RID FROM SCHEMAS
WHERE NAMESPACE_PREFIX = '" + prefix + "' AND GENERIC_SCHEMA = 1";
Response.Write(cmd + "<br>");
using (SqlDataReader elementReader = elementDB.executeCommand(cmd))
{
while (elementReader.Read())
{
Response.Write(cmd+ elementReader["RID"].ToString() + "<br>");
}
}
私が期待すること:
は
Response.Write
2 回実行され、データは同一です。
実際に起こっていること:
elementReader は、プレフィックスの最初の値を「記憶」しているように見えます。「プレフィックス」変数が変更されると、SQL ステートメントの外側の Response.Write は正しく文字列を出力しますが、SQL ステートメントの内側の while ループはまったく実行されません。ただし、'prefi'x が設定された最初の値に戻るたびに、ステートメントは実行されます。
なぜこれが起こっているのか、私は完全に途方に暮れており、助けていただければ幸いです。ありがとう。