【发布时间】:2010-12-31 03:01:08
【问题描述】:
我只是想知道从课程中返回读者的正确方法?
我下面的代码有效,但我不确定这是否正确。
还有。我无法在我的类方法中关闭连接并仍然从我的 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();
}
}
//然后我在我的 ascx 页面中调用 GetPost 方法,如下所示:
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();
}
感谢任何关于我的代码或提示的 cmets,谢谢。
融化
【问题讨论】:
-
hmm...SO 似乎弄乱了我的代码 :-(
-
SO 使用一些标点符号作为标记代码。有时你必须摆弄它,就像乐于助人的 Oded 所做的那样。
标签: asp.net ado.net class data-access-layer encapsulation