asp编程,asp编程工具
ASP 编程中参数传递的几种方法
(1)、form
action=do.asp
method=post
input
name=var1
input
type=submit
/form
在
do.asp
中用
request.form("var1")
取参数的值;
(2)、在
form/form
中
action=do.asp?var=参数值,或
a
href=do.asp=do.asp?var=参数值/a
然后在
do.asp
中用
request.querystring("var")
取参数的值(这是一种明文传递方式);
(3)、使用
Cookies。设置
%response.cookies("var")="参数值"%,取值
%=request.cookies("var")%;
(4)、用
session
变量传递参数。设置%Session("var")="参数值"%,取值
%=Session("var")%
(注意:一旦使用了%
%
的
ASP“标志”符号,该语句就必须保存在
ASP
文件中。)

如何在Delphi中实现ASP编程
实现了在delphi环境中实现asp技术的web编程,现以一个介绍如下:
1、在delphi环境中建立一个新的acdivex dll项目project1,然后通过delphi的activeserverobject建立一个asp对象,在他的coclassname中填入所建立对象的名字myaspobject.
2、通过typelibrary为刚建立的myaspobject对象建立一个将要被脚本语言调用的方法myasprequest.
3、由于刚才所建立的asp对象是从taspobject继承的,应此我们在方法建立中可以直接使用asp对象,现在为我们建立的asp对象填写代码如下:
produce?tmyaspobject.myasprequest;
begin
repsonse.write(
您的姓名是:);
repsonse.write(request.form.itemname);
repsonse.write();//从所要建立的网页中读出用户名//
repsonse.write(
您的工作是:);
repsonse.write(request.form.itemwork);
repsonse.write();//从所要建立的网页中读出用户工作//
repsonse.write(
您用的开发工具:);
repsonse.write(delphi);
repsonse.write(c++?builder);//判断用户所用的开发工具//
repsonse.write();
repsonse.write(
您的身份:);
repsonse.write(request.form.itemidentity);
repsonse.write();//读出用户的身份//
end;
4、对程序进行编译并在delphi中进行注册为pmyaspobject.dll文件。
5、编写用于连接的asp脚本语言文件myasp.asp你填的内容如下
6、建立用于显示的网页myhtm.htm请选择
姓名:
工作:
开发工具:delphi
c++ builder
您的身份:
学生技术人员
7、然后把myhtm.htm和myasp.asp放在个人的web服务器中的shd目录下即可浏览测试。
ASP编程实例
ASP编程实例大全
ASP简单、易于维护 , 是小型页面应用程序的选择 ,在使用DCOM (Distributed Component Object Model)和 MTS(Microsoft Transaction Server)的情况下, ASP甚至可以实现中等规模的企业应用程序。那么asp编程中有哪些实例比较常用呢?下面我为大家汇总ASP编程中20个非常有用的例子,一起来学习吧!
1.如何用Asp判断你的网站的虚拟物理路径
答:使用Mappath方法
%= Server.MapPath("\")%
2.我如何知道使用者所用的浏览器?
答:使用the Request object方法
strBrowser=Request.ServerVariables("HTTP_USER_AGENT")
If Instr(strBrowser,"MSIE") 0 Then
Response.redirect("ForMSIEOnly.htm")
Else
Response.redirect("ForAll.htm")
End If
3.如何计算每天的平均反复访问人数
答:解决方法
% startdate=DateDiff("d",Now,"01/01/1990")
if strdate0 then startdate=startdate*-1
avgvpd=Int((usercnt)/startdate) %
显示结果
% response.write(avgvpd) %
that is it.this page have been viewed since November 10,1998
4.如何显示随机图象
% dim p,ppic,dpic
ppic=12
randomize
p=Int((ppic*rnd)+1)
dpic="graphix/randompics/"p".gif"
%
显示
img src="%=dpic%"
5.如何回到先前的页面
答:a href="%=request.serverVariables("Http_REFERER")%"preivous page/a
或用图片如:img src="arrowback.gif" alt="%=request.serverVariables("HTTP_REFERER")%"
6.如何确定对方的IP地址
答:%=Request.serverVariables("REMOTE_ADDR)%
7.如何链结到一副图片上
答:% @Languages=vbs cript %
% response.expires=0
strimagename="graphix/errors/erroriamge.gif"
response.redirect(strimagename)
%
8.强迫输入密码对话框
答:把这句话放载页面的开头
% response.status="401 not Authorized"
response.end
%
9.如何传递变量从一页到另一页
答:用 HIDDEN 类型来传递变量
% form method="post" action="mynextpage.asp"
% for each item in request.form %
input namee="%=item%" type="HIDDEN"
value="%=server.HTMLEncode(Request.form(item)) %"
% next %
/form
10.为何我在 asp 程序内使用 msgbox,程序出错说没有权限
答:由于 asp 是服务器运行的,如果可以在服务器显示一个对话框,那么你只好等有人按了确定之后,你的程序才能继续执行,而一般服务器不会有人守着,所以微软不得不禁止这个函数,并胡乱告诉你 (:) 呵呵) 没有权限。但是ASP和客户端脚本结合倒可以显示一个对话框,as follows:
% yourVar="测试对话框"%
% script language=javas cript
alert("%=yourvar%")
/script
11.有没有办法保护自己的源代码,不给人看到
答:可以去下载一个微软的Windows s cript Encoder,它可以对asp的脚本和客户端javas cript/vbs cript脚本进行加密。。。不过客户端加密后,只有ie5才能执行,服务器端脚本加密后,只有服务器上安装有s cript engine 5(装一个ie5就有了)才能执行。
12.怎样才能将 query string 从一个 asp 文件传送到另一个?
答:前者文件加入下句: Response.Redirect("second.asp?" Request.ServerVariables("QUERY_STRING"))
13.global.asa文件总是不起作用?
答:只有web目录设置为web application, global.asa才有效,并且一个web application的根目录下 global.asa才有效。IIS4可以使用Internet Service Manager设置application setting 怎样才能使得htm文件如同asp文件一样可以执行脚本代码?
14.怎样才能使得htm文件如同asp文件一样可以执行脚本代码?
答:Internet Sevices Manager - 选择default web site -右鼠键-菜单属性-〉主目录- 应用程序设置(Application Setting)- 点击按钮 "配置"- app mapping -点击按钮"Add" - executable browse选择 \WINNT\SYSTEM32\INETSRV\ASP.DLL EXTENSION 输入 htm method exclusions 输入PUT.DELETE 全部确定即可。但是值得注意的是这样对htm也要由asp.dll处理,效率将降低。
15.如何注册组件
答:有两种方法。
第一种方法:手工注册 DLL 这种方法从IIs 3.0一直使用到IIs 4.0和其它的Web Server。它需要你在命令行方式下来执行,进入到包含有DLL的目录,并输入:regsvr32 component_name.dll 例如 c:\temp\regsvr32 AspEmail.dll 它会把dll的特定信息注册入服务器中的注册表中。然后这个组件就可以在服务器上使用了,但是这个方法有一个缺陷。当使用这种方法注册完毕组件后,该组件必须要相应的设置NT的匿名帐号有权限执行这个dll。特别是一些组件需要读取注册表,所以,这个注册组件的方法仅仅是使用在服务器上没有MTS的情况下,要取消注册这个dll,使用:regsvr32 /u aspobject.dll example c:\temp\regsvr32 /u aneiodbc.dll
第二种方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但是它提供了巨大的改进。MTS允许你指定只有有特权的用户才能够访问组件,大大提高了网站服务器上的安全性设置。在MTS上注册组件的步骤如下:
1) 打开IIS管理控制台。
2) 展开transaction server,右键单击"pkgs installed"然后选择"new package"。
3) 单击"create an empty package"。
4) 给该包命名。
5) 指定administrator帐号或则使用"interactive"(如果服务器经常是使用administrator 登陆的话)。
6) 现在使用右键单击你刚建立的那个包下面展开后的"components"。选择 "new then component"。
7) 选择 "install new component" 。
8) 找到你的`.dll文件然后选择next到完成。
要删除这个对象,只要选择它的图标,然后选择delete。
附注:特别要注意第二种方法,它是用来调试自己编写组件的最好方法,而不必每次都需要重新启动机器了。
16. ASP与Access数据库连接:
%@ language=VBs cript%
%
dim conn,mdbfile
mdbfile=server.mappath("数据库名称.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="mdbfile
%
17. ASP与SQL数据库连接:
%@ language=VBs cript%
%
dim conn
set conn=server.createobject("ADODB.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称
%
建立记录集对象:
set rs=server.createobject("adodb.recordset")
rs.open SQL语句,conn,3,2
18. SQL常用命令使用方法:
(1) 数据记录筛选:
sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
sql="select * from 数据表 where 字段名 like %字段值% order by 字段名 [desc]"
sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"
sql="select * from 数据表 where 字段名 in (值1,值2,值3)"
sql="select * from 数据表 where 字段名 between 值1 and 值2"
(2) 更新数据记录:
sql="update 数据表 set 字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
(3) 删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
(4) 添加数据记录:
sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"
sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)
(5) 数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=conn.excute(sql)
用 rs("别名") 获取统的计值,其它函数运用同上。
(5) 数据表的建立和删除:
CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 数据表名称 (永久性删除一个数据表)
19. 记录集对象的方法:
rs.movenext 将记录指针从当前的位置向下移一行
rs.moveprevious 将记录指针从当前的位置向上移一行
rs.movefirst 将记录指针移到数据表第一行
rs.movelast 将记录指针移到数据表最后一行
rs.absoluteposition=N 将记录指针移到数据表第N行
rs.absolutepage=N 将记录指针移到第N页的第一行
rs.pagesize=N 设置每页为N条记录
rs.pagecount 根据 pagesize 的设置返回总页数
rs.recordcount 返回记录总数
rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete 删除当前记录,但记录指针不会向下移动
rs.addnew 添加记录到数据表末端
rs.update 更新数据表记录
20、 Recordset对象方法
Open方法
recordset.Open Source,ActiveConnection,CursorType,LockType,Options
Source
Recordset对象可以通过Source属性来连接Command对象。Source参数可以是一个Command对象名称、一段SQL命令、一个指定的数据表名称或是一个Stored Procedure。假如省略这个参数,系统则采用Recordset对象的Source属性。
ActiveConnection
Recordset对象可以通过ActiveConnection属性来连接Connection对象。这里的ActiveConnection可以是一个Connection对象或是一串包含数据库连接信息(ConnectionString)的字符串参数。
;
关于asp编程的
如果只是分数采集很简单(前提是你其他的界面已经做出来了,在原来基础上添加几个元素来读写数据库就行),以下三步基本可以实现最简单的可视化操作:
一、下载access 2003 数据库,打开之前的数据库(考试网站源码原来的数据库,如果没有,那就新建数据库,新建的话要添加的字段就多一点),新建表名table1,添加4个字段,ID(学号,字符型);name(姓名,字符型); course(课程,字符型)mark(分数,数字型长整型),保存到考试系统源码目录。如果需要其他字段也可以自行添加,比如用户名,密码等等
二、开始菜单-管理工具-数据源(ODBC)-系统DSN-添加 Microsoft Accesss Driver驱动 ,然后连接conn,数据库选中刚刚创建的数据库,确定。
三、下载安装Dreamweaver 8,在Dreamweaver里用你之前的考试源码新建一个测试站,用来调试新代码。 然后打开你的考试界面(asp文件),新建表单
form ACTION=" " method="POST" name="form1" 得分:input name="mark1" type="text" value="“ input name="submit" type="submit" value="交卷" /form,其中在你考试系统总分数的位置插入文本框mark1,在交卷的位置插入提交按钮submit 。这里action条件的文件和mark1的value值不用输入,后面会自动生成。
打开菜单栏 窗口-数据库,在右边出现一个应用程序的小窗口,点击数据库下面+号下面的箭头-选数据源名称 ,连接名称随便取,下面选conn(刚刚建的数据源),其他不变-确定。再到“绑定”(后一个选项卡)一样的方式,绑定字符集。再在后面一个选项卡“服务器行为里面”,一样的方式找到“更新记录“这个选项,然后弹出更新记录对话框,选中自定义连接名,更新表选table1,表单元素mark1绑定mark,再确定保存。就OK了。学生的分数更新,就会自动更新到数据库表table1。以同样的方法,打开后台统计界面(asp页面),把字段拖动到ASP页面想要的位置,然后选中应用程序——服务器行为——+号下面箭头——添加重复区域,就能看到所有学生成绩生成的报表。