您的当前位置:首页正文

2用DW做ASP数据库的显示知识

2024-04-15 来源:钮旅网


用DW做ASP数据库的显示知识 数据库显示

站点建了,DW也管理了,数据库表也建了,还小添了一下。那下面就开用DW还算强大的功能:连接数据库并且显示纪录。

1,打开DW,在站点里面先新建个ASP页面(index.asp)。 在“应用程序”面板中选中“数据库”标签。只要我们在前面建立了站点,选择了文档类型(即我们选的ASP Javascript的),并且还测试了服务器(http://localhost/newgn/);则当前我们看到就剩下第四步没有打勾了。 那现在就点击“+”号,选择“自定义连接字符串”。

2,在弹出来的“自定义连接字符串”对话框中,\"连接名称\"随便写一个。“连接字符串”就要好好填写了。当\"使用此计算机上的驱动程序\"时应用绝对路径:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\\newgn\\database\\cnbruce.mdb 否则“使用测试服务器上的驱动程序”采用Mappath转换路径 :\"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"& server.mappath(\"/newgn/database/cnbruce.mdb\") 注:如果将要上传到网上去的页子就可以直接采用Mappath了。

1

点击“测试”,出现成功即爽。

附注:需要更多了解的,可以打开DW的帮助教程。

2

3,成功连接数据库后,在DW里其实是自动生成了一个连接文件。位置在自动生成的Connections文件夹中,名称是你刚才在“自定义连接字符串”随便敲的为命名asp文件。还可以注意到DW数据库标签内看到mdb文件内的各个字段。

3

4,连接数据库的文件是有了,但下面我们具体的单个页面怎么和数据库挂钩呢。选择“绑定”标签,添加“记录集(查询)”。单看字面意思就知道是来SQL查询语句了。

5,在弹出的“记录集”窗口中,“名称”随便写个吧,也可不写,默认的。但\"连接\"就要从下拉列表中选择你定义的连接对象了,“表格”继续下拉选择(注:这和设计数据库的时候有几张表相关的)。

4

6,其它随便看下,其实最主要的是自动生成了SQL语言,点选“高级...”,可以看到如下图

7,确定后,你会发现记录集已经绑定,所有数据库中的字段都显现出来。

5

再注意下面有“插入”按钮,完全可以将某个字段选中,或按按钮或拖动到index.asp页面即可。该asp页面就显示数据库里面内容了。但只能显示首行的,要想全部显示。。。。Next 8,“插入”工具栏“应用程序”标签中选择“动态表格”。

9,弹出的动态表格中选择已经帮定的记录集,显示几条记录明白说就是分页程序的生成:数据的记录多,内容多,就分好几页来显示,每页几条。记录是用表格自动生成显示出来的,再设下表格的属性。

6

确定后效果如下:

10,可以告诉你,基本差不多了。F12看看效果

7

那么现在暂搞一段落,你已经学会怎么连数据库,怎么显示库表中的记录了。等待你的就是下面怎么插入新的记录,怎么修改记录等等。。。。 用DW做ASP如何注册系统知识讲解 注册系统篇

1, 在站点里右键新建一文件regist.asp用来做注册页面;同样,因为在此之前已经建了和数据库连接的文件conn.asp,该文件是全站点有效的。所以在你新建的regist.asp中的“应用程序”----“数据库”标签里面就自动有了\"conn\"。这一步是只要开始做第一步,以后都不要添加的(除非要连另外的数据库)。

8

2,接着还是老规矩,切换到“绑定”标签,添加记录集。(我想应该这几步很上手吧)添加好了以后的画面依然是老面孔。

9

3,在regist.asp页面做个很简单的表单页,内容以及form表单名最好和数据库表里的字段对应。

4,在代码标签处选择“form”表单标记,最主要为下一步插入记录做准备。始终注意要对某块设置相关属性动作的时候,一定要选中它。

10

5,切换到“服务器行为”标签,因为先前已在第2步中绑定了记录集,所以该标签内容中也已有记录集这一项,这很正常。但我们要的是插入记录,继续按“+”,选择“插入记录”。

6,在弹出的“插入记录”对话框中。“连接”选你所建; “插入到表格”顺其自然; “插入后,转到”意思是注册成功以后要跳转到某页提示,先写 个,但要记得马上要建这个页面; “获取值自”就是刚刚选择的Form名了;“表单元素”中的“name插入到列中name”,意思是表单中 name输入框中的内容插入到数据库表name字段中。

11

这时明白为什么在步骤3中“内容以及form表单名最好和数据库表里的字段对应”了吧,DW自动智能插入,否则你得一个一个点选。

7,确定以后,注册系统已经完成了大半。(我正常到此的时间是1分钟不到,最主要的是多多练习)但再想想注册系统是不是不允许重名呢?那就要继续添加一些内容。 在“服务器行为”中继续按“+”,“用户身份验证”中选“检查新用户名”。

8,同样在弹出的“检查新用户名”对话框中,用户名字段选择“name”表示不得重名注册,当然也可以选择其他的,比如email,意思就是同个emai只能注册一个。“如果已存在,则转

12

到”表示假如有重复的现象该怎么办呢?那就跳到一个出错页面提示。当然这页也还没建,先写个文件,和刚才的registok.html一样记得马上补上去。

9,做一些细节性的动作,比如表单里面哪些必须添啊,哪些一定要是数字啊,email地址要包含一个@和两个\".\"号啊等等。注意先选择“提交”按钮。“设计”面板“行为”中选择“检测表单”。弹出的对话框中就可以很轻易的点取设置了

10,再做下刚刚没有的两个页子吧:registok.html和registbad.html

13

registok.html页面内容大概是:注册成功,请登录(当然登录系统是下一篇我要写的)。 registbad.html页面内容大概就是:呵呵,对不起,有这个用户了,还是麻烦你重新注册下。返回!

还有注意下,把“密码提示问题”和“密码提示答案”也填下,以后讲到“找回密码系统”的时候会用到。

注册系统就

到这边吧,主要是插入记录,并且验证的不重名效果。呵呵,登录系统编写中。 登陆系统篇

14

1, 在站点里右键新建一文件login.asp用来做登录页面;同样,之前已经建了和数据库连接的文件conn.asp。所以在你新建的login.asp中的“应用程序”----“数据库”标签里面就自动有了\"conn\"。

2,和注册页面一样,都需要到“应用程序”面板的“绑定”标签下“+”记录集。弹出窗口中选择完毕后点击“测试”,可以看到当前数据库中满足SQL条件的相关记录。

15

注:该图显示表明数据库中的相关内容,name:cnbruce,pwd:123456和name:cnrose,pwd:123456。记住它,可以在我们测试登录的时候用到。

3,在登录页中做了Form表单,并对输入文本框进行合理命名。

4,点选form标记,设计页中整个表单被选中。

5,选择“应用程序”面板中“服务器行为”中“+”----“用户身份验证”----“登录用户”。

16

6,弹出的对话框中进行具体的设置。“从表单获取输入”意思是从本asp页面中选择具体的form表单,以及该表单中的所必有的用户名字段和密码字段。

“连接验证”表示通过conn文件和数据库表进行连接设定。选择“user表格”,用户名列表和密码列表即数据库中的特定用户名字段和密码字段。很明显,让库中的字段的内容和表单中提交的内容进行验证比较连接。

“登录成功,转到”loginok.asp,该页面是一权限页面,只有当登录完全正确的时候才能进入。否则是登录失败,转到loginbad.html。

17

7,确定后,login.asp基本完成。切换到login.asp的代码窗口,注意!已经生成了用户的局部变量Session:“Session(\"MM_Username\"= MM_valUsername”。该变量可以全站采用的。

8,新建一loginok.asp,其是一个保护页面,只有当用户密码正确登录后才会进入。否则跳转到loginbad.html(登录失败,可能原因是用户名或密码错。)打开loginok.asp,“应用程序”---“绑定”---“阶段变量”

18

9,弹出的阶段变量对话框中,根据第7步的代码显示,名称输入MM_Username句即可。

10,选择建立起来的“MM_Username”,按下“插入”按钮或者拖入页中。可以让不同用户进入时动态显示其对应的姓名。

11,再为loginok.asp做下权限限定,意思是你可以知道http://localhost/newgn/loginok.asp,但你单纯在地址栏输入绝对是进不了的,或者用户密码不正确也是进不了的。那该怎么实现这样的效果呢?

“服务器行为”---“身份验证”---“限制对页的访问”就OK了。

19

12,按“用户名和密码”进行限制,拒绝则跳转到“loginbad.html”

13,有关loginok.asp基本设置完毕,感觉还是蛮麻烦的,不过按步骤来会好很多,呵呵。 Now,还有个loginbad.html再努力一下。很简单,登录失败跳转到该页,非法登录也同 样跳到本页,内容很简单。

1,你注册了吗?没有的话来登记下吧! 2,你是不是忘了什么东西了,返回仔细填下哦。

14,差不多了,调试一下。当然先从login.asp开始,填写个正确的看看。

20

测试:

先用name:cnbruce,pwd:123456

注意后面的name是cnbruce

再用name:cnrose,pwd:123456

注意,同样是loginok.asp,但显示的人姓名不一。

再随便敲个http://localhost/newgn/loginok.asp看看,其自动跳转到loginbad.html。

21

今天就把登录系统好好做下,就够你用时间的了。 用DW做ASP时如何查找密码系统 查找密码系统

1,建立第一个页面1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。

2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。

查找密码系统

22

1,建立第一个页面1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。

2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。

3,保存1.asp,在站点里面新建2.asp,并打开它。 该页的作用有两个:

1,判断上一页,即1.asp所填写名字在数据库中是否存在。

2,不存在应提示出错,存在则应将该用户的问题(question)字段内容显示。 具体怎么实现呢?

4,2.asp上数据库已经连好。老方法,先绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。在弹出的“记录集”中就要好好设置了。最主要的就是“筛选”,选择\"name\" \"=\" \"表单变量\" \"name\"。

意思是,要显示数据库表中字段name的内容,得有个条件,那就是:从上一页(1.asp)中书写的name表单内容要和库中的字段name值相等。

23

5,其实切换到“高级”就可以看到自动生成的SQL代码,其中就有requeset.form(\"name\"),意思就是把1.asp文本框中输入的值接受过来。

6,在2.asp页面敲入不存在该用户的提示语言\"嘿嘿,这个用户还没有注册,所以你就没必要找密码了。\"

换行再敲入存在该用户的语句。但与此同时还要注意把密码问题SHOW出来,以及问题的答案做成文本框。

24

7,选中2.asp的form标签,属性面板中动作填写3.asp,方法采用post。3.asp主要就是用来判断问题和答案是否吻合,如吻合则显示正确密码了。注意!是问题和答案在一起。而我们当前只有答案可以传过去,那我们的问题该怎么传到3.asp呢?

8,在“你的密码问题是:”后面插入光标,然后从“绑定”的“记录集”中选择“question”插入或者直接拖入到页面。注意!这还只是显示给用户密码问题,是不能将此信息传过去的。那怎么样才可以呢?

25

9,我们采用“隐藏域”来传送question的值。插入一“隐藏域”(PS:有人不会插入吗?呵呵),对“隐藏域”的属性进行修改:“隐藏区域”名称就叫\"question\"吧,“值”点击后面的闪电图标,弹出对话框中选择“question”。已经完成对“隐藏域”question的赋值,同样也可以进行传递。

10,剩下的就是把2.asp中的两部分严格分开了。

26

选中“嘿嘿,这个用户还没有注册,所以你就没必要找密码了。”这段文本。 “应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。 弹出对话框中选择刚刚建立的recordset1 即可。

意思很明显:如果没有找到满足SQL语言查询的记录集就显示该行错误提示。

11,同样,选择form表单,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。

弹出对话框中选择刚刚建立的recordset1即可。

意思也很清楚:如果有满足SQL语言查询的记录集就显示问题和答案书写框。 最终效果页应该如下:

27

总算把2.asp搞定了。总结下,该页主要起承上启下的作用。先要判断有没有这个用户,如果有,还有把密码问题显示出来,并要能传送到下一页3.asp

12,那3.asp就要判断2.asp过来的密码问题以及答案是否和数据库中的吻合了。

又有两个作用:不吻合,说明密码答案错,返回上页再来!吻合,那就规规矩矩地给人家密码吧,呵呵。

不过有了做2.asp的经验,做3.asp还不是小菜一碟!

13,保存2.asp,在站点新建3.asp并且打开它。老规矩,绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。

在弹出的“记录集”中就要值得你要小心注意了。 “筛选”,选择\"question\" \"=\" \"表单变量\" \"question\"

28

14,但你有没有注意到,我们要传送两个值给3.asp接受的,但现在只能一个进行选择。那该怎么办呢?切换到“高级”SQL的相关代码。我们要稍加添加。 SQL结构查询语言会一点,模仿能力强一点,呵呵就过来了!

“变量”添加一个“MMAnswer”,“运行值”当然就是“request.form(\"answer\")”了 然后把SQL语言加一下and answer = 'MMAnswer'

看SQL的意思就明白了:必须要求 question and answer和数据库表中两字段的值吻合。

15,接着,象做2.asp样快速设计3.asp

29

页面上书写不吻合的语句“呵呵,你的问题答案不是这个吧,要不回去再试试? ”并且选中后,同样是“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。 接着是吻合的情况,“你的密码是:”的后面,从“绑定”“记录集”中选择“pwd”插入或者直接拖入到页面;

并且还要选中该部分,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。

16,保存3.asp,大功告成!来调试下。

30

今天主要就是页面之间的关联,还有对SQL的一点运用,以及根据记录显示区域等等。 要好好理清楚其原理和逻辑顺序。 关于Dreamweaver中数据库路径的使用

一、不推荐使用Server.Mappath(相对文档路径地址的数据库文件)

虽然具有平台移植性,但对于不同层次,不同深度下的引用该数据库的文件,将不能完整地保证数据库路径的正确性。

举个例子:

1,数据库文件cnbruce.mdb,所在文件夹database(可http访问) 2,DW自动生成的连接数据库文件conn.asp,所在文件夹Connections

3,如果在DW中测试连接路径成功,则必须输入地址为Server.Mappath(\"../database/cnbruce.mdb\")

但随后引用该数据库连接的文件必须保存在某文件夹中,该文件夹和database是同等的 即: - database - cnbruce.mdb - Connections - conn.asp - 某文件夹 - x1.asp

这种结构才能使用正常。但这就必须要求站点中,所有引用了连接数据库文件的文件,必须存放在站点的一级目录下。显然这是不合理的,比如这样的结构。 - x2.asp - database - cnbruce.mdb - Connections - conn.asp - 某文件夹 - 某子文件夹 - x3.asp

31

则x2.asp和x3.asp均不能正常显示。

原理分析:无论conn.asp放在哪里,无论conn.asp的内容如何,最后都是取决于引用了conn.asp的文件的文件位置和数据库的位置关系。

解决办法:在conn.asp中进行判断当前路径,根据不同级别值给出不同链接路径……对于初学者来说,麻烦。

第二种解决方法就是采用相对根目录法,但也是不推荐使用。 二、不推荐使用Server.Mappath(相对根目录路径的数据库文件)

使用这种方法,首先需要将IIS默认站点调整到当前DW站点所在文件夹(XP系统),或建立一个站点指向该文件夹(2K等系统)。

反正一句话,就是当你输入 http://localhost/ 时,显示的内容已不是默认的IIS首页,而是你所设置的DW站点文件夹中的默认首页文档。 那么在设置了该IIS站点之后

1,数据库文件cnbruce.mdb,所在文件夹database(可http访问) 2,DW自动生成的连接数据库文件conn.asp,所在文件夹Connections

3,如果在DW中测试连接路径成功,则输入地址为Server.Mappath(\"/database/cnbruce.mdb\") /database/cnbruce.mdb 该方法就是相对根目录,高屋建瓴式的进行数据库路径的获得,无论哪个层次的,哪个目录下的站点文档均能正常显示。 但依然不推荐!原因如下:

在本地你可以自行修改IIS的站点,当上传到服务器或虚拟主机时,麻烦就来了。 1,如果你的虚拟主机服务商技术不过关,当在解析你网站根目录的时,不是指向到你的站点文件夹,而是指向服务器系统盘下的wwwroot文件夹。于是路径肯定错误。 2,如果你需要上传的并不是你的站点根目录,很显然,路径也肯定会发生解析错误。 所以,不推荐!那么,该怎么办?

三、推荐使用Server.Mappath(本地绝对物理路径的数据库文件)

32

很简单,这个数据库在本地你总会知道它所在的位置吧。在DW中创建时就直接使用该绝对物理路径地址。

OK,来上传了。当然不可能那么巧:上传到服务器上的数据库物理路径地址和本地数据库物理路径地址是一样的-__-!

所以,现在只需要获得上传到服务器空间上的数据库文件,在服务器上是处于什么物理地址就行了。 怎么获得?

1,建立一个path.asp文件,内容很简单 <%=server.mappath(\"cnbruce.mdb\")%>

2,该文件和数据库文件cnbruce.mdb,共一文件夹,捆绑式一同上传。

3,在URL地址栏查看path.asp,得到cnbruce.mdb在服务器上的物理地址,拷贝该路径。 4,将本地的conn.asp中的物理路径,替换后再上传。一切OK! 特点:

1,虽然平台移植不很强,但全面支持所有站点中文件连接,况且也就是本地和服务器间两者间的移植。

2,防止%5c暴库间接获得数据库地址。

3,现在越来越多的空间建议将数据库文件放放到非Web访问目录中(当然具体的路径获得又是另外一种方法了),这就必须要求用户使用物理路径了。 所以,我的观点是:

Dreamweaver MX 动态建站数据库路径的使用方法: 本地使用物理地址,上传服务器依然使用物理地址。

33

因篇幅问题不能全部显示,请点此查看更多更全内容