4

理解しようとしているが、私はできない。

SqlCommand を介してストアド プロシージャを実行すると、返された SqlDatareader オブジェクトから結果が得られませんが、デバッガーでオブジェクトを探索すると結果が表示されます。これが私が話していることのイメージです:

を参照してください

結果ビューの行には、「列挙は結果を生成しませんでした」と表示されますが、パスには次のように表示されます。

base -> base -> ResultView -> [0] -> Non-Public members -> _values -> [0], 1 ,[2],[3] 結果が表示されます。

誰でもそれらを取得する方法を知っていますか?

これは、特定の列を取得するために使用しているコードです。

if (dataReader.Read())
{
   ProjectFolderId = dataReader["ItemID"].ToString();
}

しかし、ifはfalseを返しています。

4

1 に答える 1

9

注意が必要です: リーダーは1 回しか消費できません。プレビュー ウィンドウにデータを表示することで、デバッガーで誤ってそのデータを使用してしまった可能性が非常に高く、データは使用できなくなります。

デバッガーのプレビュー ウィンドウで表示/展開されていないことを確認してから、もう一度やり直してください。

示されているの_valuesは、正常に読み取られた最後の行の遺産/残骸です。

于 2012-10-29T07:20:22.963 に答える