owc 连接sql做图

<%  
  function   draw(conn,ssql,title,axy,picname)  
  Dim   m_rs     '记录集对象    
  Dim   m_cspace     'OWC.ChartSpace   object    
  Dim   m_fso     '文件系统对象    
  Dim   m_objBinaryFile   '二进值文件流对象    
     
  Dim   c   'OWC   常量对象    
  Dim   cht   '图表临时参考变量    
  Dim   ax   '数轴的临时参考变量    
  Dim   axs    
  Dim   fnt   'OWCFont字体的临时参考变量    
  Dim   sFullFileName   '输出GIF文件的临时参考路径    
   
  '创建一个ADO链接和记录集对象    
  set   m_rs   =   Server.CreateObject("ADODB.Recordset")    
  m_rs.CursorLocation   =   3   'adUseClient    
  m_rs.Open   sSQL,   conn,   3   'adOpenStatic    
   
  dim   colorArr  
  colorArr   =   Array("red","blue","black","purple","yellow","orange","green","lightgreen")  
     
  '增加一个带有图例的簇列图表    
  set   m_cspace   =   server.CreateObject("OWC.Chart")                   ''绑定数据源  
  set   cht   =   m_cspace.Charts.Add()    
  set   c   =   m_cspace.Constants    
  m_cspace.DataSource   =   m_rs      
   
  cht.Type   =6                                   ''改变线条类型  
  '设置图表的数据源,月份添加到分类组,统计作为图表中各项取值    
  m_cspace.Charts(0).Axes(c.chAxisPositionLeft).Line.Weight   =   1  
  Set   axs   =   m_cspace.Charts(0).Axes(c.chAxisPositionLeft)  
  axs.HasMajorGridlines   =   true  
  axs.MajorGridlines.Line.Color   =   &HCCCCCC  
  m_cspace.Border.Weight   =   0  
  m_cspace.Charts(0).PlotArea.Interior.Color   =   &HFFFFFF  
   
   
        for   i=0   to   ubound(serverArr)-1  
   
  'response.Write(serverArr(i,0))  
  m_cspace.Charts(0).SeriesCollection.Add  
  m_cspace.Charts(0).SeriesCollection(i).SetData   c.chDimSeriesNames,   -1,   serverArr(i)  
  m_cspace.Charts(0).SeriesCollection(i).SetData   c.chDimCategories,   0,   "dd"  
  m_cspace.Charts(0).SeriesCollection(i).SetData   c.chDimValues,   0,   "ss"  
   
   
  m_cspace.Charts(0).SeriesCollection(i).Line.Weight   =   0                               ''线条宽度  
  if   i<6   then  
  m_cspace.Charts(0).SeriesCollection(i).Line.Color=colorArr(i)                             ''线条颜色,颜色只定义了6种,过多的需要再改      
  else    
  m_cspace.Charts(0).SeriesCollection(i).Line.Color=&Hffff00+100*(i+6)                             ''线条颜色      
  end   if    
   
  m_cspace.Charts(0).SeriesCollection(i).DataLabelsCollection.Add()                 ''添加节点上的数据,默认为flase,这是折线的表示        
  m_cspace.Charts(0).SeriesCollection(i).DataLabelsCollection(0).HasValue=true  
   
  next  
  m_cspace.Charts(0).HasLegend   =   True    
  '增加一个图表标题,并格式化标题    
  cht.HasTitle   =   True    
  cht.Title.Caption   =   title    
  set   fnt   =   cht.Title.Font    
  fnt.Name   =   "宋体"    
  fnt.Size   =   10    
  fnt.Bold   =   True    
     
     
  '对分类轴添加标题,并格式化标题    
  set   ax   =   cht.Axes(c.chAxisPositionBottom)    
  ax.HasTitle   =   True    
  ax.Title.Caption   =   axy    
  set   fnt   =   ax.Title.Font    
  fnt.Name   =   "宋体"    
  fnt.Size   =   9  
  fnt.Bold   =   True    
     
  '对数值轴添加标题,并格式化标题    
  set   ax   =   cht.Axes(c.chAxisPositionleft)    
  'ax.NumberFormat   =   "Currency"    
  ax.HasTitle   =   True    
  ax.Title.Caption   =   "点击量"    
  set   fnt   =   ax.Title.Font    
  fnt.Name   =   "宋体"    
  fnt.Size   =   9  
  fnt.Bold   =   True    
  fnt.color="red"    
  set   m_fso   =   CreateObject("Scripting.FileSystemObject")    
  sFullFileName   =   Server.MapPath(".")   &   "/"&picname  
   
  if   m_fso.FileExists(sFullFileName)   then  
  m_fso.DeleteFile(sFullFileName)  
  end   if  
          ShowFileList   Server.MapPath(".")&"/chart/",picname  
   
  m_cspace.ExportPicture   sFullFileName,   "GIF",   950,   500  
  response.write   "<table   align='center'><tr><td><img   src='"&picname&"'></td></tr><table>"  
     
    response.Flush()  
  end   function      
   
  Function   ShowFileList(folderspec,filename)  
          Dim   fso,   f,   f1,   fc  
          Set   fso   =   CreateObject("Scripting.FileSystemObject")  
          Set   f   =   fso.GetFolder(folderspec)  
          Set   fc   =   f.Files  
          For   Each   f1   in   fc  
   
          sFullFileName   =   Server.MapPath(".")   &   "/chart/"   &f1.name  
   
  if   (fso.FileExists(sFullFileName)   and   sFullFileName<>Server.MapPath(".")   &"/"&filename   )then  
  fso.DeleteFile(sFullFileName)  
  end   if  
          Next  
   
  End   Function  
   
  sql="select   name   as   dd,count(hit)   as   ss   from   tablename   group   by   name   "  
   
  draw   conn,sql,title,"省份","chart/yhitdraw_"&timer&".gif"%> 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值