私は初心者であり、皆さんが簡単に見つけることをしようとしています。私のようなものを使用しようとしている私のaspxでSQLDATAREADERの情報をC#のプロパティでASPXに渡します。
public partial class _Default : System.Web.UI.Page
{
private SqlDataReader reader = null;
public SqlDataReader Reader { get { return reader; } set { reader = value; } }
protected void Page_Load(object sender, EventArgs e)
{
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
using (SqlConnection connection = new SqlConnection(connectionString)) {
connection.Open();
using (SqlCommand command = new SqlCommand("SELECT * FROM uploads WHERE status IS NULL AND uploader = @uploader", connection)) {
command.Parameters.Add(new SqlParameter("uploader", "anonymous"));
Reader = command.ExecuteReader();
}
}
}
}
:私は私のASPXからのデータを、次は私のdefault.csコードであることを私のCSとアクセスのページ読み込み時に選択したSQLを実行したいのですが: 例外の詳細:System.InvalidOperationExceptionが:リーダーがクローズされたときに、メタデータを呼び出すには無効な試み
<%= Reader.GetString(1) %>
が、私は次のエラーを得続けます。
私の使用しているステートメントが終了時に接続を終了していることがわかりましたが、ASPXからデータにアクセスできない理由がわかりません。使用しているループ内で同じGetString(1)値を使用すると、関連するデータにアクセスできます。
私は基本的にはちょうど私の結果に出力するすべての行をしようとしている= \
この場合、なぜ「使用する」を使用してはならないのかを教えてください。 –
-1、不正なアドバイス、SqlConnectionを処分する必要があります。 – Joe
@Joe:はい、データのバインド中にコードを使用する予定がある場合は、コードのその時点では処分する必要はありません。 –