Мне просто интересно, как правильно вернуть читателя из класса?
Мой код ниже работает, но я не уверен, что это правильно.
Также. Я не могу закрыть соединение в своем методе класса и по-прежнему получать к нему доступ с моей страницы ascx, это
это нормально?
// В моем классе есть следующий метод для возврата записи/считывателя -- в данном случае это одна запись.
public SqlDataReader GetPost()
{
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("con_spPost", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@blogid", blogid);
try
{
conn.Open();
return cmd.ExecuteReader();
}
finally
{
// conn.Close();
}
}
// Затем я вызываю метод GetPost на моей странице ascx следующим образом:
protected void Page_Load(object sender, EventArgs e)
{
//instantiate our class
MyClass DB = new MyClass();
//pass in the id of the post we want to view
DB.PostID = Int32.Parse(Request.QueryString["p"]);
///call our GetPost method
SqlDataReader reader = DB.GetPost();
//output the result
reader.Read();
this.viewpost.InnerHtml = "<span id='post1_CreatedDate'>" + reader["CreatedDate"].ToString() + "</span><br>";
this.viewpost.InnerHtml += "<span class='blogheads'>" + reader["BlogTitle"].ToString() + "</span><p><p>";
this.viewpost.InnerHtml += reader["BlogText"].ToString();
reader.Close();
}
Буду признателен за любые комментарии к моему коду или советы, спасибо.
Таять