日期:2014-05-17  浏览次数:20894 次

循环读取下一张有效图片的写法
本帖最后由 Pleaseina 于 2012-12-04 13:36:42 编辑 RT,现在写好的是第一张图片会这样显示

for (int i=0; i<dt.Rows.Count; i++)
{
img1.ImageUrl="Handler.ashx?ID=" + dt.Rows[i]["ID"].ToString;
}

因为数据库里会删除,比如ID为5有图片,6,7,8可能都没有图片,直到9才有.请问如何读取并显示下一张有效ID的图片?

另外能否再写一个循环来显示第二张有效图片?比如

接着上面
for (int x=0; x<dt.Rows.Count; x++)
{
img2.ImageUrl="Handler.ashx?ID=" + dt.Rows[x]["ID"].ToString;
}

------最佳解决方案--------------------
select top 1 * from table where id > 现在的id order by id。
------其他解决方案--------------------
不明白,有没有图片,你还不知道吗,比如有个字段pic,那么可以先筛选datatable

DataRow[] rows = dt.Select("pic is null"),这样选出的都是有图片的
------其他解决方案--------------------
你自己在数据库中的该表上建立一个唯一主键,你传递这个主键,在一般处理程序中直接处理就好啊
或者是直接在一般处理程序中判断指定id的图片文件存在不,file.exists()判断下就知道了,如果没有的话,把id加1,再判断
------其他解决方案--------------------
没明白你的意思。。。