using (SqlDataReader sdr = comm.ExecuteReader())
       {
         DataTable dt = new DataTable("news");
         dt.Load(sdr);
           if (dt.Rows.Count > 0)
           {
               //生成HTML表格的框架,{0}为将被动态插入表格行的占位符
               string strNews = "\n<div align=\"center\" id=\"title\"><div id=\"titarea\">"
                   + "<div class=\"tit\">{0}</div>\n<span class=\"date\">时间:{1}  阅读:{2}次</span>"
                   + "</div>\n</div>\n<div id=\"artical_real\" style=\"padding-top:24px;\">{3}</div>";
               DataRow dr = dt.Rows[0];
               return string.Format(strNews, dr["biaoti"].ToString(), dr["shijian"].ToString(),
                   dr["jishu"].ToString(), dr["neirong"].ToString());
          }
           else
                return "未找到满足条件的新闻数据。";
       }请大家帮我看看这段代码什么意思啊!越具体越好!本人是菜鸟!先谢谢各位了!

解决方案 »

  1.   


    using (SqlDataReader sdr = comm.ExecuteReader())//创建sqldatareader,用完,自动释放资源
      {
      DataTable dt = new DataTable("news");//创建名为news的datatable
      dt.Load(sdr);//加载数据,这种没用过,其实直接dr.read()判断,然后dr["列名"]
    获值就可以了,  
    if (dt.Rows.Count > 0)//找到数据
      {
      //生成HTML表格的框架,{0}为将被动态插入表格行的占位符
      string strNews = "\n<div align=\"center\" id=\"title\"><div id=\"titarea\">"
      + "<div class=\"tit\">{0}</div>\n<span class=\"date\">时间:{1} 阅读:{2}次</span>"
      + "</div>\n</div>\n<div id=\"artical_real\" style=\"padding-top:24px;\">{3}</div>";
    //格式化好的新闻内容{0}..{3}这四个是参数待填充,\"为转义符,可前面用@代替,不用这么麻烦了
      DataRow dr = dt.Rows[0];//取第一行数据
      return string.Format(strNews, dr["biaoti"].ToString(), dr["shijian"].ToString(),
      dr["jishu"].ToString(), dr["neirong"].ToString());//返回用这几个值填充好的字符串
      }
      else
      return "未找到满足条件的新闻数据。";//这个不用说了吧
      }
      

  2.   

    真详细,补充下:将sdr的数据填充到数据表dt中,相当于dt.fill(sdr);