<
您还没有登录┊登录注册 当前在线:592
源码程序系统工具编程开发图形图像网络软件应用软件多媒体类娱乐休闲驱动程序各类教程各类论文文章阅读
ASPPHPJSPASP.NETVBVF百度搜索星星练题网络文摘股市消息技能习题详细分类
当前位置:首页 \ 各类教程 \ 计算机
站内搜索


在浏览器中动态显示图形

文件大小:14.4kb
运行平台:Windows9X/ME/NT/2000/XP
级别评定:
添加时间:2007-5-22 11:29:26
最后更新:2007-5-22 11:29:26
相关链接:无
所需金额:0 元
添加者:管理员

会员软件,请登录 不是会员,请注册

/ ::软件简介:: / ::相关软件:: / ::软件点评:: /::上一个::/ ::下一个:: /
管理首页
asp 转贴点好东东
(www.Jojoo.net)  2003-5-10 (请双击自动滚屏观看,单击停止,再击..)


 转贴点好东东
一、程序员易犯的20条错误
1.不要将没有过滤的用户输入发送给客户端.
如:Response.Write "You have entered " & Request("UserInput")
2.不要信任客户端和SESSION变量.
3.不要忘记指定字符集.
<META http-equiv="Content-Type" content="text/html; charset=GB2312">
4.不要在没处理文件路径的情况下让用户访问文件.
如:这样的表达式是不正常的.
http://www.example.net/article.asp?file=new.htm
这将导致以下情况的发生:
http://www.example.net/article.asp?file=/global.asa
http://www.example.net/article.asp?file=/../../../boot.ini
http://www.example.net/article.asp?file=LPT1
http://www.example.net/article.asp?file=\%2e%2e\global.asa
可用以下方法来正确处理该情况:
<%
Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Set f = fso.GetFile(request("file"))
If err then
 Response.Write "Error"
Else
 Response.Write f.Path
End If
%> 

5.在没有过滤用户输入的情况下,不要进行SQL查询.
6.如果你的数据库内容来自用户的输入,不要相信它.
7.不要将密码或者其它敏感的数据保存在ASP页面中.
8.不要依赖弱安全检查的内容.
如:HTTP重定向,HTML中的TEXT字段的最大长度限制等等.
9.不要将注释留在HTML页面中,特别是一些敏感信息.
10.不要给出太多不必要的信息给客户端.
如在一个登录页面,登录失败的信息就不能太多,如果将:密码是四位,用户不存在等过多的信息给客户端,将会给那些不怀好意的家伙有机可乘!
11.不要在当前路径下写文件,数据库操作.要将文件,数据库文件单独放在一个分区或在WEB根目录这外的目录下.
12.不要在URL中带敏感信息.
13.不要使用INC文件.
因为IIS默认情况下是不处理INC文件的,最好用.INC.ASP扩展名.
14.不要在没有验证用户输入的情况下发送邮件.
15.不要在FORM的HIDDEN字段中保存敏感数据.
16.不要让IIS来处理错误,因为会发送太多的信息给客户端.
最好将IIS的脚本调试改为只发送文本信息.
17.好好的控制你的代码.
将那些不用的,临时的代码都删除,如.test.asp,index.asp.bak
18.在没有测试的情况下不要发布你的代码.
19.不要将不必要的敏感数据存在数据库中,这样万一你的数据库被攻破,也不要造成更大的损失.
20.不要以为这样就够了,还有更多的情况要在实际中被考虑到.


二、Adodb.Stream 的使用说明

组件:"Adodb.Stream"
有下列方法:
Cancel 方法
     使用方法如下
     Object.Cancel
     说明:取消执行挂起的异步 Execute 或 Open 方法的调用。
Close  方法
     使用方法如下
     Object.Close
     :关闭对像
CopyTo 方法
     使用方法如下
     Object.CopyTo(destStream,[CharNumber])
     说明:将对像的数据复制,destStream指向要复制的对像,CharNumber为可选参数,指要复制的字节数,不选为全部复制。
Flush  方法
     使用方法如下
     Object.Flush
     说明:
LoadFromFile 方法
     使用方法如下
     Object.LoadFromFile(FileName)
     说明:将FileName指定的文件装入对像中,参数FileName为指定的用户名。
Open  方法 
      使用方法如下
      Object.Open(Source,[Mode],[Options],[UserName],[Password])
      说明:打开对像,
      参数说明:Sourece 对像源,可不指定
  Mode 指定打开模式,可不指定,可选参数如下:
    adModeRead  =1
    adModeReadWrite =3
    adModeRecursive =4194304
    adModeShareDenyNone =16
    adModeShareDenyRead =4
    adModeShareDenyWrite =8
    adModeShareExclusive =12
    adModeUnknown  =0
    adModeWrite  =2
  Options 指定打开的选项,可不指定,可选参数如下:
    adOpenStreamAsync =1
    adOpenStreamFromRecord =4
    adOpenStreamUnspecified=-1
  UserName 指定用户名,可不指定。
  Password 指定用户名的密码
Read  方法
 使用方法如下:
 Object.Read(Numbytes)
 说明:读取指定长度的二进制内容。
 参数说明:Numbytes指定的要读取的找度,不指定则读取全部。

ReadText  方法 
 使用方法如下:
 Object.ReadText(NumChars)
 说明:读取指定长度的文本
 参数说明:NumChars指定的要读取的找度,不指定则读取全部。

SaveToFile  方法 
 使用方法如下:
 Object.SaveToFile(FileName,[Options])
 说明:将对像的内容写到FileName指定的文件中
 参数说明:FileName指定的文件
    Options 存取的选项,可不指定,可选参数如下:
      adSaveCreateNotExist  =1
      adSaveCreateOverWrite =2

SetEOS  方法
 使用方法如下:
 Object.setEOS()
 说明:
SkipLine  方法
 使用方法如下:
 Object.SkipLine()
 说明:
Write  方法
 使用方法如下:
 Object.Write(Buffer)
 说明:将指定的数据装入对像中。
 参数说明:Buffer 为指定的要写入的内容。
WriteText  方法
 使用方法如下:
 Object.Write(Data,[Options])
 说明:将指定的文本数据装入对像中。
 参数说明:Data 为指定的要写入的内容。
           Options 写入的选项,可不指定,可选参数如下:
    adWriteChar  =0
    adWriteLine  =1

 


有下列属性:
 Charset 
 EOS 返回对像内数据是否为空。

 LineSeparator 指定换行格式,可选参数有
  adCR   =13
  adCRLF   =-1
  adLF   =10
 
 Mode 指定或返加模式。
 
 Position 指定或返加对像内数据的当前指针。
 
 Size 返回对像内数据的大小。
 
 State 返加对像状态是否打开。
 
 Type 指定或返回的数据类型,可选参数为:
  adTypeBinary  =1
  adTypeText  =2


三、根据需要动态include不同的文件(需要FSO支持)

受<! #include file="filename.asp" --> 宏限制
必须存在该文件并且会预先编译(不管前面是否加以条件)

经常有这样的要求,根据不同的需求要求include不同的文件
如各个人的不同设置,所以要求能动态include文件。

代码如下:

Function include(filename)
 Dim re,content,fso,f,aspStart,aspEnd
 
 set fso=CreateObject("Scripting.FileSystemObject")
 set f=fso.OpenTextFile(server.mappath(filename))
 content=f.ReadAll
 f.close
 set f=nothing
 set fso=nothing
 
 set re=new RegExp
 re.pattern="^\s*="
 aspEnd=1
 aspStart=inStr(aspEnd,content,"<%")+2
 do while aspStart>aspEnd+1 
  Response.write Mid(content,aspEnd,aspStart-aspEnd-2)
  aspEnd=inStr(aspStart,content,"%\>")+2
  Execute(re.replace(Mid(content,aspStart,aspEnd-aspStart-2),"Response.Write "))
  aspStart=inStr(aspEnd,content,"<%")+2
 loop
 Response.write Mid(content,aspEnd) 
 set re=nothing
End Function

使用范例:

include("youinc.asp")

四、在浏览器中动态显示图形(利用owc)(一) 
  大家在编写ASP程序的时候,可能要对各种指标以图形的方式显示出来。如果仅仅是柱状图,可以采用画表格的方法。许多投票程序多采用这种方法。如果是饼状图或从数据库中检索数据后再显示,就有些困难了.办法也有,自己可以封装excel来完成上述功能,或者用deiphi做一个activeform传入参数,或者用php来写(做出的图有些难看),java也可以。当然,用一个比较成熟的图形组件来完成更好一些。microsoft  office  web  compoent非常不错。我在开发一个项目的时候,用到了这个组件。 

CHART.ASP程序。 

<%  Option  Explicit  %> 
<!--#include  file="adovbs.inc"--> 
<HTML> 
<HEAD> 
<TITLE>柱状图的例子</TITLE> 
<% 
Function  ExportChartToGIF(objCSpace,  strAbsFilePath,  strRelFilePath) 
Dim  strFileName 
Randomize   
strFileName  =  Timer  &  Rnd  &  ".gif" 
objCSpace.ExportPicture  strAbsFilePath  &  "\"  &  strFileName,  "gif",  650,  400 
ExportChartToGIF  =  strRelFilePath  &  "/"  &  strFileName 
End  Function 

Sub  CleanUpGIF(GIFpath) 
Dim  objFS 
Dim  objFolder 
Dim  gif 
set  objFS  =  Server.CreateObject("Scripting.FileSystemObject") 
set  objFolder  =  objFS.GetFolder(GIFpath) 
for  each  gif  in  objFolder.Files 
if  instr(gif.Name,  ".gif")  >  0  and   
DateDiff("n",  gif.DateLastModified,  now)  >  10  then 
objFS.DeleteFile  GIFpath  &  "\"  &  gif.Name,  True 
end  if 
next 
set  objFolder  =  nothing 
set  objFS  =  nothing 
End  Sub 

%> 
</HEAD> 
<BODY  BGCOLOR="#FFFFFF"> 
<div  align="center"> 
<br/> 
<br/> 
<% 
dim  sj1,sj2 
sj1=Request.QueryString("s1") 
sj2=Request.QueryString("s2")   

dim  objChartSpace 
dim  objChart 
dim  objSeries 
dim  objConn 
dim  objRS 
dim  c 
dim  series 
dim  strChartAbsPath 
dim  strChartRelPath 
dim  strChartFile 
dim  axis 

strChartAbsPath  =  Server.MapPath("/xjsi-web/dcss/chart") 
strChartRelPath  =  "/xjsi-web/dcss/chart" 
'设置组件 

set  objChartSpace  =  Server.CreateObject("OWC.Chart") 
set  objChart  =  objChartSpace.Charts.Add 
set  c  =  objChartSpace.Constants 

objChartSpace.Border.Color="red" 
'以柱状图显示 
objchart.type=1 
objChart.HasLegend  =  True'是否显示图例 
objChartSpace.HasChartSpaceTitle=true  '显示标题 
objChartSpace.ChartSpaceTitle.Caption  ="柱状图的例子使用office  web组件--九月天空中文技术网站"   
set  objConn  =  Server.CreateObject("ADODB.Connection") 
objConn.Open  application("strconn") 
set  objRS  =  Server.CreateObject("ADODB.Recordset") 
set  objRS.ActiveConnection  =  objConn 
objRS.CursorType  =  adOpenStatic 
objRS.CursorLocation  =  adUseClient 
objRS.Open  "select  dwsj,sum(jfrs)  as  jfrs   
from  dcss_do_jfgcfxb  where  dwsj>='"&sj1&"'  and  dwsj<'"&sj2&"'   
group  by  dwsj  order  by  dwsj  asc" 

set  objChartSpace.DataSource  =  objRS 
'显示图例内容 
objChart.SetData  c.chDimSeriesNames,  0,  "jfrs" 
for  each  objSeries  in  objChart.SeriesCollection 
objSeries.SetData  c.chDimCategories,  0,  "dwsj" 
objSeries.SetData  c.chDimvalues,  0,  "jfrs" 
next 

for  each  axis  in  objChart.Axes 
axis.HasTitle  =  True 
if  axis.Type  =  c.chCategoryAxis  then 
axis.Title.Caption  =  "月份" 
else 
axis.Title.Caption  =  "人数" 
end  if 
next 

strChartFile  =  ExportChartToGIF(objChartSpace,  strChartAbsPath,  strChartRelPath) 
Response.Write  "<IMG  SRC="""  &  strChartFile  &  """>"  &  "<P>" 
CleanUpGIF  strChartAbsPath 

objRS.Close 
set  objRS  =  nothing 
set  objConn  =  nothing 
set  objSeries  =  nothing 
set  objChart  =  nothing 
set  objChartSpace  =  nothing 
%> 
</div> 
</BODY> 
</HTML> 
使用这个组件的注意事项: 
1。在office2000的光盘上,有一个msowc.msi的可执行文件.OK 
2。建议大家用visual  interdev6.0开发,代码的自动提示功能此时会发挥出极大的作用 

五、ASP备份Sql Server数据库(方法我没有试过)
1.
<%
Dim objSQLServer
Dim objBackup 
Set objSQLServer = Server.CreateObject("SQLDMO.SQLServer")
objSQLServer.Connect "Localhost", "sa", "sa"
Set objBackup = Server.CreateObject("SQLDMO.Backup")
objBackup.Database = "vehicle"
objBackup.Files="d:\vehicle.bak"
objBackup.MediaDescription = "Back of vehicle"
On Error Resume Next
objBackup.SQLBackup(objSQLServer)
if Err<>0 then
 strErr = Err.Description
 response.write strErr
else
  response.write "êy?Y3é1|±?·Y!"
end if
%>


2.
文件1:BackupDB.asp

<%@ Language=VBScript %>
<HTML>
<HEAD>
<META name=VI60_defaultClientScript content=VBScript>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>
<!--

Sub btnbak_onclick
if frmbak.txtsvr.value="" then
window.alert("'Server Name' is empty!")
frmbak.txtsvr.focus
exit sub
end if
if frmbak.txtuid.value="" then
window.alert("'Administrators' is empty!")
frmbak.txtuid.focus
exit sub
end if
if frmbak.txtdb.value="" then
window.alert("'Database' is empty!")
frmbak.txtdb.focus
exit sub
end if
if frmbak.txtto.value="" then
window.alert("'Backup To' is empty!")
frmbak.txtto.focus
exit sub
end if
frmbak.submit
End Sub

-->
</SCRIPT>
<link rel="stylesheet" href="../../sheets/B2BStyle.css">
</HEAD>
<form action="backupdbsave.asp" method="post" id=frmbak name=frmbak>
<body class="bg_frame_up">
<p class=heading> Database --> Backup</p>
<P align=center>
<div align="center">
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0 align=center>
<tr>
<td class=TD_Mand_FN align="center" height="35" width="40%">Server Name:</td>
<td class=TD_Mand_F height="35" width="59%"> 
<INPUT id=txtsvr name=txtsvr size="20" style="font-family: Arial; font-size: 9pt"></td>
</tr>
<tr>
<td class=TD_Mand_FN align="center" height="35" width="40%">Administrators:</td>
<td class=TD_Mand_F height="35" width="59%"> 
<INPUT id=txtuid name=txtuid size="20" style="font-family: Arial; font-size: 9pt"></td>
</tr>
<tr>
<td class=TD_Mand_FN align="center" height="35" width="40%">Password:</td>
<td class=TD_Mand_F height="35" width="59%"> 
<INPUT id=txtpwd name=txtpwd type=password style="font-family: Arial; font-size: 9pt"></td>
</tr>
<tr>
<td class=TD_Mand_FN align="center" height="35" width="40%">Database:</td>
<td class=TD_Mand_F height="35" width="59%"> 
<p align="left"> 
<INPUT id=txtdb name=txtdb size="20" style="font-family: Arial; font-size: 9pt"></p>
</td>
</tr>

<td class=TD_Mand_FN align="center" height="35" width="40%">Backup To:<br/>
<u>(Server Path)</u></td> 
<td class=TD_Mand_F height="35" width="59%"> 
<input id=txtto name=txtto style="font-family: Arial; font-size: 9pt"></td> 
</tr> 
</table> 
</center> </div> 
<p align=center><input id=btnbak name=btnbak type=button value="Start Backup" style="font-family: Arial; font-size: 9pt"></p> 
</body> 
</form> 
</HTML> 


文件2:BackupDBSave.asp

<%@ Language=VBScript %>
<%
dim msvr,muid,mpwd,mdb,mto
msvr=Request.Form("txtsvr")
muid=Request.Form("txtuid")
mpwd=Request.Form("txtpwd")
mdb=Request.Form("txtdb")
mto=Request.Form("txtto")
if mpwd="" then mpwd="''"

on error resume next
set dmosvr=server.CreateObject("SQLDMO.SQLServer")
dmosvr.connect msvr,muid,mpwd

if err.number>0 then Response.Redirect("http:backuperr.asp?err="&err.number)

mdevname="Backup_"&muid&"_"&mdb
set dmodev=server.CreateObject("SQLDMO.BackupDevice")
dmodev.name=mdevname
dmodev.type=2
dmodev.PhysicalLocation=mto
dmosvr.BackupDevices.Add dmodev

if err.number>0 then Response.Redirect("http:backuperr.asp?err="&err.number)

set dmobak=server.CreateObject("SQLDMO.Backup")
dmobak.database=mdb
dmobak.devices=mdevname
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<body background="../../Images/dot.gif">

<p><strong>Backuping, wait please...</strong></p>
<%
dmobak.sqlbackup dmosvr
if err.number>0 then Response.Redirect("http:backuperr.asp?err="&err.number)

dmosvr.backupdevices(mdevname).remove
set dmobak=nothing
set dmodev=nothing
dmosvr.disconnect
set dmosvr=nothing
%>
<p><strong>Database '<%=mdb%>' backup successed!</strong></p>
</BODY>
</HTML>


文件3:BackupErr.asp

<%@ Language=VBScript %>
<%
dim errno,errstr
errno=Request.QueryString("err")
errstr=""
select case cstr(errno)
case "18456"
errstr="administrators or password error!"
case "20482"
errstr="server name error or server cannot connect!"
case "911"
errstr="database not found!"
case "15026"
errstr="server path not found!"
case "3201"
errstr="server path not found!"
case "3254"
errstr="restore from file lawlessness!"
case else
errstr="unknown error! retry later please!"
end select
%>
<HTML>
<HEAD>
<META name=VI60_defaultClientScript content=VBScript>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>
<!--

Sub btnret_onclick
history.back
End Sub

-->
</SCRIPT>
<title></title>
</HEAD>
<body class="bg_frame_up">
<p align=center><font color=#006666><%=errstr%></font></p>
<p align=center><input id=btnret name=btnret type=button value=Return style="font-family: Arial; font-size: 9pt"></p>
</BODY>
</HTML> 

相关软件
·用vb编写过图形组件
·如何将PictureBox中的图形与控件一起转换为BMP图
·西部图形谷全站
·条形码图形统Barcode Image Counter v1.0
·图形计数器


1分 0
2分 0
3分 0
4分 0
5分 0
共有 0 人打分
平均得分:0


按字符查询:ABCDEFGHIJKLMNOPQRSTUVWXYZ0~9中文
下载图示: - 附汉化补丁 - 附注册 - 会员软件 - 推荐 - 最新添加
Rainight, 星旺坡 联网备案号:41092802000212 豫ICP备19032584号-1 页面执行时间: 0.22秒
业务QQ:80571569 手机:13030322310