脑筋绞死……求思路

我用SQL“select top 4 ……”获取前四个数据,要放在页面上的控件上。现在是当数据不满4条时,执行不了,出错。
我想做成当数据不满4条时自动补空位,用空串就行,也就是占位子。

作者: xq870723   发布时间: 2011-06-16

现在ASPX页上已经拖好4个labal控件,就等着取数据往里面放。

作者: xq870723   发布时间: 2011-06-16

先判断个数 datatable.Rows.Count

作者: max_single   发布时间: 2011-06-16

有不满的了 你还TOP啥。。

select * from table 

dt.Rows[0]["列名"].ToString();
dt.Rows[1]["列名"].ToString();
dt.Rows[2]["列名"].ToString();
dt.Rows[3]["列名"].ToString();

取前4个。
dt=DataTable or DataSet.Table[0]

作者: wxr0323   发布时间: 2011-06-16


因为数据一直在变,有时很多个,有时有少于4个,而页面时准备4个Label用于显示,当很多数据时就只取前4


引用 3 楼 wxr0323 的回复:
有不满的了 你还TOP啥。。

select * from table

dt.Rows[0]["列名"].ToString();
dt.Rows[1]["列名"].ToString();
dt.Rows[2]["列名"].ToString();
dt.Rows[3]["列名"].ToString();

取前4个。
dt=DataTable or DataSet.Table……

作者: xq870723   发布时间: 2011-06-16

引用 3 楼 wxr0323 的回复:

有不满的了 你还TOP啥。。

select * from table

dt.Rows[0]["列名"].ToString();
dt.Rows[1]["列名"].ToString();
dt.Rows[2]["列名"].ToString();
dt.Rows[3]["列名"].ToString();

取前4个。
dt=DataTable or DataSet.Tab……


你这种方法对于4个以下的数据就会报错。

作者: max_single   发布时间: 2011-06-16

先判断是不是大于4个。

作者: haihuan23   发布时间: 2011-06-16

判断一下呗 小于4 赋值为null

作者: qydvip   发布时间: 2011-06-16

做成循环,判断。

作者: max_single   发布时间: 2011-06-16

“select top 4 ……”
datatable.Rows.Count=4 直接赋值

datatable.Rows.Count<4
for (var i=0;i< datatable.Rows.Count;i++)
{
  ..........
}

作者: feng1366259807   发布时间: 2011-06-16

SQL code

select *, row_number() over ( order by fieldname) as rno from tablename where rno < 5


作者: silentcross   发布时间: 2011-06-16

先把表里的数据总条数查出来,如果大于4条该怎么样,不大于4条又该怎么样就OK了

作者: LONG332949572   发布时间: 2011-06-16

嗯,有点问题

SQL code

select * from
  (select *, row_number() over(order by fieldname) as rno from tablename) t
where
   rno < 5

作者: silentcross   发布时间: 2011-06-16

判断语句吧,LS把说的都说了

作者: renyiqiu   发布时间: 2011-06-16

每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分

作者: indusl   发布时间: 2011-06-16

引用 5 楼 max_single 的回复:

引用 3 楼 wxr0323 的回复:

有不满的了 你还TOP啥。。

select * from table

dt.Rows[0]["列名"].ToString();
dt.Rows[1]["列名"].ToString();
dt.Rows[2]["列名"].ToString();
dt.Rows[3]["列名"].ToString();

取前4个。
dt=Da……

我知道会报错 你不是说为空的话 要显示为空吗?
dt.Rows[0]["列名"].ToString()==""?"空":dt.Rows[0]["列名"].ToString();
dt.Rows[1]["列名"].ToString()==""?"空":dt.Rows[1]["列名"].ToString();
dt.Rows[2]["列名"].ToString()==""?"空":dt.Rows[2]["列名"].ToString();
dt.Rows[3]["列名"].ToString()==""?"空":dt.Rows[3]["列名"].ToString();

作者: wxr0323   发布时间: 2011-06-16

悬念没有留。哈哈

作者: wxr0323   发布时间: 2011-06-16