if(dr.Read())
{
int i = 1;
string title = string.Empty;
do
{
if(dr["title"].ToString().Length>10)
{
title = dr["title"].ToString().Substring(0,10)+"...";
}
else
{
title = dr["title"].ToString();
}
strTable = strTable + "<tr><td>&nbsp;&nbsp;["+i+"]&nbsp;<a target=\"_blank\" href=\"DownLoadFile.aspx?Url="+dr["fileurl"].ToString()+"\">"+title+"</a></td></tr>\n";
i++;
}while(dr.Read());
}
homework = homework+strTable+"</table>";
}
catch(Exception ex)
{
Response.Write(ex);
}
finally
{
conn.Close();
}

解决方案 »

  1.   

     do…while语句  TAG: do…while语句,循环控制语句,循环控制,循环,语句,程序,程序结构
    TEXT: do…while语句:用于首先执行一次循环体语句,然后开始测试循环条件,当条件为‘真’时继续循环的处理过程。语句格式:
    do{
    语句; 
    }while(表达式);
    其中:表达式可以是关系表达式、逻辑表达式或其它表达式,其结果为‘真’与‘假’,用以描述循环进行下去的条件。
    循环体可以是简单语句和复合语句,如果只有一条语句,可以不使用花括号{}。
    执行过程:
    首先执行一次循环体语句;然后测试循环进行的条件,即判断表达式的结果,如果结果为‘真’(非0)则重复执行循环体语句;直到表达式的结果值为‘假’时,退出do…while循环,执行do…while循环后面的语句。
    提示燿o…while结构的表达式的后面必须有分号(;)。
    do…while循环语句特点是:
    循环的次数不能确定,需要根据循环条件(表达式的值)来判定需要循环的次数。于是首先执行循环体语句,然后判断循环条件,因此即使循环条件不满足,循环体也至少被执行一次。
    例4-19 输出1~100之间的自然数之和。
    #include <stdio.h>
    main()
    {
    牋牋 int count=1,sum=0;/* 初始化*/
    牋牋牋?do
    牋牋牋?{牋 sum=sum+count;
    牋牋 count=count+1;/* count++;*/
    牋牋牋牋 } while (count <=100);
    牋牋牋?printf("sum=%d\n",sum);牋牋 
    } 
    程序执行结果:
    牋牋?sum=5050
    可以看出:程序至少执行了一次计算之后,才进行了循环控制条件的判断。
    本例题可以改写为下面的形式:
    #include <stdio.h>
    main()
    {
    牋牋牋 int count=1,sum=0;/* 初始化*/
    牋牋牋?do
    牋牋牋?{牋 
    牋牋牋牋?sum=sum+count;
    牋牋牋?} while (++count <=100);
    牋牋牋?printf("sum%d\n",sum);牋牋 
    } 
    循环控制变量的更新不是放在循环体中而是放在了表达式中,先递增,然后才进行判断。这时,循环体中只有一条语句sum=sum+count。
    提示?#22312;do…while循环结构中,即使一条语句也最好用{ }括起来,以区别while结构,如果将上面的语句写成:
    牋?do
    牋牋牋 sum=sum+count;
    牋?while (++count <=100);
    则很容易被误认为while循环执行了空操作。一般的写法是:
    牋 do
    牋 {?……
    牋 }while(表达式);
    例4-20 找出1~100之间的整数中,是3的倍数或5的倍数这样的数的个数。
    循环控制在1-100之间,从中查找是3的倍数或是5的倍数的数据,条件是:该数与3的余数为0或与5的余数为0。计算符合这个条件的数据个数。
    程序清单如下:
    main()

    牋 int count=0,n=1;?/*count 为满足条件的数的个数的统计结果;
    牋 n为循环控制变量,范围为1—100。*/
    牋牋 do
    牋牋 {
    牋牋牋 if(n%3==0||n%5==0)
    牋 count++;
    牋牋牋牋?n++;
    牋牋?}while (n<=100);
    牋牋 printf("The?total?number is : %d",count);
    }
    程序执行结果:
    牋牋?The?total?number is : 47
    设置循环控制变量n的初始值为1,采用一条单分支if语句首先判断该数是否是3的倍数或是5的倍数,如果是:count值加1,否则不做任何处理,然后是循环控制变量加1,测试是否满足继续循环的条件,直到count的值直到101为止。
      

  2.   

    如果说dr是DataReader的意思,那么上面红色的一段,就是利用do..while循环,在页面上重绘DataReader中这张表的结构。
      

  3.   

    那这句呢?catch(Exception ex)
    {
    Response.Write(ex);
    }
      

  4.   

    该段代码:在从数据库里面读取数据,并组合html语言的table,换句话说,把你的数据都组合成table,每一次循环就是一条数据tr。并且标题超过10字,就显示10个,不超过10个,就全部显示。