2 mayleesun mayleesun 于 2015.07.09 11:27 提问

这样写for循环错在哪?为什么页面没反应?

int id=(int)Session["userid"];

           string str = ConfigurationManager.ConnectionStrings["shuju"].ConnectionString;
           SqlConnection conn = new SqlConnection(str);
           for (int i = id; i < i + 4; i++)
           {
           string sql = " select * from [user] where grade ="+i+ "";
           SqlCommand cmd = new SqlCommand(sql, conn);
           SqlDataAdapter da = new SqlDataAdapter();
           da.SelectCommand = cmd;
           DataTable dt = new DataTable();
           da.Fill(dt);
           DataList1.DataSource = dt;
           DataList1.DataBind();
       }

5个回答

showbo
showbo   Ds   Rxr 2015.07.09 11:30
已采纳

for (int i = id; i < i + 4; i++)
死循环了,i < i+4永远成立

 for (int i = id,j=i+4; i<j; i++)
showbo
showbo 回复mayleesun: 确认你数据库有对应的数据,这个会循环4次,你加上Response.Write输出i就知道了。for (int i = id,j=i+4; i<j; i++){Response.Write(i);.....其他代码
2 年多之前 回复
mayleesun
mayleesun 这样写只能为啥输出一组数据?。
2 年多之前 回复
showbo
showbo 回复mayleesun: 最下面就是了。。
2 年多之前 回复
mayleesun
mayleesun 那我该怎么改才能实现??
2 年多之前 回复
bdmh
bdmh   Ds   Rxr 2015.07.09 11:36

for (int i = id; i <这里写一个和 i 没关系的数字; i++)

yuke198907
yuke198907   2015.07.09 14:10

死循环了吧,这写法...

mayleesun
mayleesun 嗯,那我该怎么改?
2 年多之前 回复
sinho_2014
sinho_2014   2015.07.09 15:20

你这循环永远结束不了啊,简称死循环,不管i是什么,i<i+4这个是永远成立的啊大哥

u011225581
u011225581   2015.07.09 16:42

for(int i=id, len=i+4;len>i;++i)

Csdn user default icon
上传中...
上传图片
插入图片