评论和子评论
问题描述:
我需要子注释才可以在下面的评论我试着在下面的方式,它可以只检索第一个主要评论及其所有的子评论,但无法从第二个主要评论加载。我使用的逻辑是评论和子评论
MyConnection.Open();
OdbcCommand cmd = new OdbcCommand("Select * from maincomments", MyConnection);
OdbcDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
string abc1 = dr[0].ToString();
string abc2 = dr[1].ToString();
string abc3 = dr[2].ToString();
string abc4 = dr[3].ToString();
string abc5 = dr[4].ToString();
string abc6 = dr[5].ToString();
string abc7 = dr[6].ToString();
maincomm.Controls.Add(new LiteralControl(abc2 + "<br />" + abc5 + "<br />"));
cmd = new OdbcCommand("Select * from subcomments where acc_id=?", MyConnection);
cmd.Parameters.Add("@email", OdbcType.BigInt, 20).Value = abc1;
dr = cmd.ExecuteReader();
while (dr.Read())
{
string abcd1 = dr[0].ToString();
string abcd2 = dr[1].ToString();
string abcd3 = dr[2].ToString();
string abcd4 = dr[3].ToString();
string abcd5 = dr[4].ToString();
string abcd6 = dr[5].ToString();
string abcd7 = dr[6].ToString();
string abcd8 = dr[7].ToString();
maincomm.Controls.Add(new LiteralControl(abcd3 + "<br />" + abcd6 + "<br />"));
}
}
MyConnection.Close();
在上面的代码ACC_ID是maincomments的序列号。
我的代码出了什么问题?
答
当您使用dr
来获取评论时,在内部循环中,您将使用DataReader覆盖它以获取子注释。
,您应该使用不同的变量两个(例如drComments
和drSubComments
)
这就是看起来从功能上看是错误的。我的意见是,还有一些改进要做。修复代码之后,我强烈建议在CodeReview上发布此代码,以获取有关如何重构它的一些好建议。
谢谢!这工作:) –