我在数据库中定义了一个表,结构如下。
字段为:id datetime age(byte) salary(int) name(string)
1 2007-10-10 30 10000 zs
2 2009-10-10 31 20000 ls
3 2010-10-10 32 30000 ww现在需要通过datagrid显示,但是要求没有记录的要显示N/A,且不显示id:
2007-10-10 1 10000 zs
2008-10-10 N/A N/A N/A
2009-10-10 2 20000 ls
2010-10-10 3 30000 ww
我的问题是:
1.SQL用“SELECT *.....”,datagrid中如何显示除id外的数据。
2.如何在我需要的地方插入n/a?我试过插入“n/a”,但是数据类型不匹配。请高手指教。
字段为:id datetime age(byte) salary(int) name(string)
1 2007-10-10 30 10000 zs
2 2009-10-10 31 20000 ls
3 2010-10-10 32 30000 ww现在需要通过datagrid显示,但是要求没有记录的要显示N/A,且不显示id:
2007-10-10 1 10000 zs
2008-10-10 N/A N/A N/A
2009-10-10 2 20000 ls
2010-10-10 3 30000 ww
我的问题是:
1.SQL用“SELECT *.....”,datagrid中如何显示除id外的数据。
2.如何在我需要的地方插入n/a?我试过插入“n/a”,但是数据类型不匹配。请高手指教。
2.你表里根本没有2008-10-10这一行,又怎么select出来插入NA?
2 如果数据表中已经存在行,只是要求值为null或者空的显示N/A可以这样做
SELECT ID,ISNULL(Age,'N/A') AS Age,ISNULL(Salary,'N/A') AS Salary,ISNULL(Name,'N/A') AS Name from 表名
如果既有null也有空那就用case when 处理
SELECT ID,Age=Case When Age='' then 'N/A'
When Age is null then 'N/A'
else Age end,
。
3 如果是数据表中没数据而又想加上空行,这就麻烦了,或者写个存储过程或者在程序中从新构造数据源了
[color=#FF0000]就是数据表中没有那行数据![/color]而且我的字段很多,但只有id不显示,所以要用SELECT *先全部找出来。
我的思路是在返回的DataTable里历遍数据,发现空了就用insertat方法插入一空的ROW。
根我所知,DataGrid有一个NullText的属性用于显示Null数据,不知道如何设置。