C# 从数据库中取记录 生成折线图

btlyeo 2008-08-22 10:20:53
如题,数据表有2个字段,时间和流量,每天每分钟会记录一条数据,一天下来大约1400条记录

客户要求出一个以小时为单位的流量折线图

看了好多例子,都是直接出的图,没有这种还要折算成小时的图,不知道代码要怎么写

帮忙帮忙!!!!
...全文
462 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
btlyeo 2008-08-22
  • 打赏
  • 举报
回复
declare @test table (Total int,times datetime)
declare @i int,@values int
declare @j datetime,@k datetime,@total datetime

set @i = 1
set @j = '00:00:00'
set @k = '2008-08-08'

set @values =0
while not @i=1440
begin
set @total = @k +@j+'00:01:00'
set @j = @j +'00:01:00'
set @i = @i +1

if right(@i,1) = 1
begin
set @values = 3100
end
if right(@i,1) = 2
begin
set @values = 3200
end
if right(@i,1) = 3
begin
set @values = 3300
end
if right(@i,1) = 4
begin
set @values = 3100
end
if right(@i,1) = 5
begin
set @values = 3400
end
if right(@i,1) = 6
begin
set @values = 3100
end
if right(@i,1) = 7
begin
set @values = 3200
end
if right(@i,1) = 8
begin
set @values = 3400
end
if right(@i,1) = 9
begin
set @values = 3200
end
if right(@i,1) = 0
begin
set @values = 3700
end
insert into @test
select @values,@total
end
select * from @test
-----------------------------------------------------

这个是测试用的数据,其实每条数据可能值都不同,就再3300左右波动

我想出一个图,以小时为刻度,把这些数据都显示再图中
btlyeo 2008-08-22
  • 打赏
  • 举报
回复
可是这个数据不是做累加的,只是希望时间刻度是小时,值还是原值

用C#那个SYSTEM.DRAWING如何
yagebu1983 2008-08-22
  • 打赏
  • 举报
回复
对了,只适合IE浏览器!!
yagebu1983 2008-08-22
  • 打赏
  • 举报
回复
vml!!!
jiang_jiajia10 2008-08-22
  • 打赏
  • 举报
回复
webchart or owc11 都可以做到 去网上找简单
c2u 2008-08-22
  • 打赏
  • 举报
回复
其实正规的话一般用Analysis Service的数据仓库,添加一个时间维度即可。也叫BI
不过根据我们公司的实际使用情况来看,这种方式服务会经常死掉。

如果网站流量很大,分析简单的话,可以写个生成个临时表的存储过程,定时跑就可以了,

数据从里面取,这种稳定性是可控的……

例子:

SELECT CityCode,CityCaption
,convert(varchar,year(ChangeDateTime))
+'-'+convert(varchar,month(ChangeDateTime))
+'-'+convert(varchar,day(ChangeDateTime))
+'-'+cast(datepart(hh,ChangeDateTime) as varchar)
AS SupplyMonth
,SUM(OccupyArea)/10000 As AreaAll
FROM [Land_BaseInfo]
WHERE (Price>0 AND Price IS NOT NULL) AND ChangeDateTime IS NOT NULL
GROUP BY
convert(varchar,year(ChangeDateTime))
+'-'+convert(varchar,month(ChangeDateTime))
+'-'+convert(varchar,day(ChangeDateTime))
+'-'+cast(datepart(hh,ChangeDateTime) as varchar)
,CityCode
,CityCaption
include_me 2008-08-22
  • 打赏
  • 举报
回复
可以使用 devexpress 图表控件.
zhangxuyu1118 2008-08-22
  • 打赏
  • 举报
回复
activeX
chxuxu 2008-08-22
  • 打赏
  • 举报
回复
SQL语句:
select sum(流量字段),datepart(hour,时间字段) from hr_hwcard group by(datepart(hour,时间字段))

这样读出来就是 小时--流量表

然后根据此表 画图
suyiming 2008-08-22
  • 打赏
  • 举报
回复
用owc11做
LQknife 2008-08-22
  • 打赏
  • 举报
回复
没接触过 帮你顶
btlyeo 2008-08-22
  • 打赏
  • 举报
回复
help
btlyeo 2008-08-22
  • 打赏
  • 举报
回复
help

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧