你到sqlserver版搜“交叉报表”,相信会得到满意的答案
解决方案 »
- 帮我看下滚动条的问题,
- 谁用过googlemaps,用过的高手指教一下谢谢了
- asp 用户控件
- 登陆验证问题 问题很简单就是不会
- 数据分列显示
- 关于老是调用一个删除数据语句的疑惑???
- 用B/S模式怎么实现系统空间占用情况统计
- 高分请教,关于视图状态和Forms验证的问题,烦死人了!
- 为什么会出理--未能找到引用的组件"microsoft.web.ui.webcontrols"。
- 如何让DataGrid 的EditItemTemplate中的DropDownList控件触发事件?
- ////救命啊!我安装了win2003,visual studio.net2003之后,打不开原来的工程了.说是找不到路径.咋办啊?
- 怎样编程实现excel文件的操作====在线等待了
myDt.Columns.Add("size");
myDt.Columns.Add("红");
myDt.Columns.Add("蓝");
myDt.Columns.Add("黄");
SqlDataAdapter Da=new SqlDataAdapter("select tsize,colorname,num from table1,table2 where table1.id=table2.colorid",myCn);
DataTable Dt=new DataTable();
Da.Fill(Dt); int i=0;
DataRow myDr=myDt.NewRow();
foreach(DataRow Dr in Dt.Rows)
{
i++;
if(i==1)
{
myDr["size"]=Dr["size"];
myDr["红"]=Dr["num"];
}
if(i==2)
{
myDr["蓝"]=Dr["num"];
}
if(i==3)
{
i=0;
DataRow myDr=myDt.NewRow();
myDr["黄"]=Dr["num"];
}
} myDs.Tables.Add(myDt);
下班了急,请大家不要笑话我语法的不规则.
string strQuery =@"SELECT dbo.[size].[size], dbo.color.colorname, dbo.[size].num FROM dbo.color INNER JOIN dbo.[size] ON dbo.color.colorid = dbo.[size].color ";
SqlDataAdapter da = new SqlDataAdapter(strQuery,conn);
DataSet ds = new DataSet();
da.Fill(ds);
int i=0;
string column1 = "";
string columns = "";
string values = "";
string value1="";foreach(DataRow dr in ds.Tables[0].Rows)
{
if(i=0)
{
column1 = dr.Table.Columns[0].ColumnName;
value1 = dr[0].ToString();
columns = dr[1].ToString();
valuse = dr[2].ToString();
}
else
{
columns = columns+","+dr[1].ToString();
valuse = values+","+dr[2].ToString();
}
i++;
}string[] temp = columns.Split(",");
string[] tempvalue = values.Split(",");
DataTable dt = new DataTable("Test");
dt.Columns.Add(column1);
for(int j=0;j<temp.Length;j++)
{
dt.Columns.Add(temp[j].ToString());
}DataRow dr = dt.NewRow();
dr[0] = value1;
for(int k=0;k<dt.Columns.Count;k++)
{
dr[k+1] = tempvalue[k].ToString();
}
string strQuery =@"SELECT dbo.[size].[size], dbo.color.colorname, dbo.[size].num FROM dbo.color INNER JOIN dbo.[size] ON dbo.color.colorid = dbo.[size].color ";
SqlDataAdapter da = new SqlDataAdapter(strQuery,conn);
DataSet ds = new DataSet();
da.Fill(ds);
int i=0;
string column1 = "";
string columns = "";
string values = "";
string value1="";foreach(DataRow dr in ds.Tables[0].Rows)
{
if(i=0)
{
column1 = dr.Table.Columns[0].ColumnName;
value1 = dr[0].ToString();
columns = dr[1].ToString();
valuse = dr[2].ToString();
}
else
{
columns = columns+","+dr[1].ToString();
valuse = values+","+dr[2].ToString();
}
i++;
}string[] temp = columns.Split(",");
string[] tempvalue = values.Split(",");
DataTable dt = new DataTable("Test");
dt.Columns.Add(column1);
for(int j=0;j<temp.Length;j++)
{
dt.Columns.Add(temp[j].ToString());
}DataRow dr = dt.NewRow();
dr[0] = value1;
for(int k=0;k<tempvalue.Length;k++)
{
dr[k+1] = tempvalue[k].ToString();
}
SELECT size,
(CASE color WHEN 1 THEN Amount ELSE 0 END) AS 红,
(CASE color WHEN 2 THEN Amount ELSE 0 END) AS 蓝,
(CASE color WHEN 3 THEN Amount ELSE 0 END) AS 黄,
FROM xxxxxtable
GROUP BY size
declare @s varchar(300)
set @i = 1
set @s = 'select ImlId as 月份'
while exists (select * from xt_color where cast(xtColorID as int) = @i )
begin
select @s = @s + ',(case when cast(imlcolor as int) ='+ cast(@i as varchar) + ' then imlnum else 0 end) as ' +xtColorName from xt_color where cast(xtColorID as int) = @i
set @i = @i + 1
end
set @s = @s + ' from gc_importlist order by ImlId'
exec (@s)
出错declare @i int
declare @s varchar(300)
set @i =2
set @s = 'select ImlId as 月份'
while exists (select * from xt_color where cast(xtColorID as int) = @i )
begin
select @s = @s + ',(case when cast(imlcolor as int) ='+ cast(@i as varchar) + ' then imlnum else 0 end) as ' +xtColorName from xt_color where cast(xtColorID as int) = @i
set @i = @i + 1
end
set @s = @s + ' from gc_importlist order by ImlId'
exec (@s)
set @i =1改成2就好了
什么原因??