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> ["+i+"] <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();
}
{
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> ["+i+"] <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();
}
解决方案 »
- 急!!服务器不可用
- 关于使用TextBox生成查询字符串
- asp.net 导出excel表
- 来问个MVC的问题
- 请问我的sql查询语句有什么错误?
- 放个.net做的外挂.QQ斗地主,不要问偶要源码,谢谢!
- ◆◆如何传递1组SQL参数◆并在存储过程中遍历?◆◆ ◆◆
- 在vs2005下面,我建立了ASP.net项目,为什么找不到Global.asax这个文件?我要用里面的几个事件,2003下面有这个文件
- dundas的webchart使用的问题
- 谁知道 .Net Petshop2.0为什么不用存储过程啊
- 求助了 用SESSION提取登陆帐号出错
- asp+access做的毕业设计怎么运行,需要哪些软件啊...跪求高手解决 急
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为止。
{
Response.Write(ex);
}