盼盼资源网-亲测资源网-盼盼的家园www.panpan.org

 找回密码
 立即注册
查看: 350|回复: 0

[普通] ASP对Access数据库的连接、增删改查及ASP的基本语法

[复制链接]

2350

主题

2457

帖子

40万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
408380
发表于 2020-3-8 22:50:00 | 显示全部楼层 |阅读模式
ASP对Access数据库的连接、增删改查及ASP的基本语法

ASP不需要任何插件的支持,关键你是配置好WINDOWS的IIS服务器,把页面扔在上面执行就可以了。
不同WINDOWS系统的IIS服务器配置,除了某些被阉割的WINXP装机版系统之外,都支持IIS服务器配置,都在WINDOWS的组件中,不需要下载任何东西。
下面以实例讲解ASP对Access数据库的连接、增删改查及ASP的基本用法

一、基本目标
假设Access2007数据库database.mdb中存在表test如下:

id为自增列,username,password皆为文本
现在要求把这张表在ASP页面中查询出来。并且再下面继续增加一项username=3,password=a的内容。
运行asp网页的时候记得把access关掉,不可以边打开access边运行asp网页。

二、制作过程
asp代码必须写在<%%>之中,
asp声明变量可以用dim a;声明,a不分类型,系统自动识别。dim可以不写,也就是完全可以写出a=什么,
改变a的值必须用set a=..不能直接a=...,此乃对a的初始化。
数据库声明部分conn与rs的值必须用set conn的形式赋予,因为系统已经自动对其初始化。

<head>部分不需要引用任何文件。

整个网页的代码如下,下面一段一段进行说明:
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>数据库的连接、增删改查</title>
  5. </head>
  6. <body>
  7. <%
  8. db="Database.mdb"
  9. Set conn = Server.CreateObject("ADODB.Connection")
  10. conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=admin;dbq=" & Server.MapPath(db)
  11. response.write "数据库连接成功!"
  12. Set rs = Server.CreateObject( "ADODB.Recordset" )
  13. sql = "select * from test;"
  14. rs.open sql,conn,1,3
  15. %>
  16. <br/>
  17. 表test的内容:
  18. <table border="1">
  19.   <tr>
  20.     <td>id</td>
  21.     <td>username</td>
  22.     <td>password</td>
  23.   </tr>
  24.   <%
  25. if (rs.bof and rs.eof) then
  26. response.write "nodata!"
  27. else
  28. do while not rs.eof
  29. %>
  30.   <tr>
  31.     <td><%=rs("id")%></td>
  32.     <td><%=rs("username")%></td>
  33.     <td><%=rs("password")%></td>
  34.   </tr>
  35.   <%
  36. rs.movenext
  37. loop
  38. end if
  39. %>
  40. </table>
  41. <%
  42. 'conn.execute "update test set username='2' where username='a';"
  43. conn.execute "insert into test(username,password) values ('3','a');"
  44. %>
  45. ---------插入数据之后--------<br/>
  46. 表test的内容:<br/>
  47. <%
  48. Set rs = Server.CreateObject( "ADODB.Recordset" )
  49. sql = "select * from test;"
  50. rs.open sql,conn,1,3
  51. %>
  52. <table border="1">
  53.   <tr>
  54.     <td>id</td>
  55.     <td>username</td>
  56.     <td>password</td>
  57.   </tr>
  58.   <%
  59. if (rs.bof and rs.eof) then
  60. response.write "nodata!"
  61. else
  62. do while not rs.eof
  63. %>
  64.   <tr>
  65.     <td><%=rs("id")%></td>
  66.     <td><%=rs("username")%></td>
  67.     <td><%=rs("password")%></td>
  68.   </tr>
  69.   <%
  70. rs.movenext
  71. loop
  72. end if
  73. %>
  74. </table>
  75. <%
  76. rs.close
  77. set rs=nothing
  78. conn.close
  79. set conn=nothing
  80. %>
  81. </body>
  82. </html>
复制代码
这段代码是用记事本敲出来的,没有用任何开发工具,所以缺乏缩进等基本代码格式见谅,ASP实在缺乏代码开发工具。
ASPEDIT都是一些1997年就出版的东西了。

1、<head>部分
  1. <head>
  2. <!--必须声明使用utf-8编码,否则在IE8中页面显示会乱码-->
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>数据库的连接、增删改查</title>
  5. </head>
复制代码
以下就是<body>部分了

2、连接数据库部分
  1. <%
  2. 'asp同使用'去注释,不允许使用;来结束语句,每一个enter键就是代表一条语句结束
  3. 'Access数据库文件是database.mdb
  4. db="Database.mdb"
  5. Set conn = Server.CreateObject("ADODB.Connection")
  6. '指定动作,pwd后的值代表此数据库的密码
  7. conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=admin;dbq=" & Server.MapPath(db)
  8. '在网页上输出东西,可以用response对象
  9. response.write "数据库连接成功!"
  10. %>
复制代码

3、查询部分
  1. <%
  2. '指定动作
  3. Set rs = Server.CreateObject( "ADODB.Recordset" )
  4. '查询语句
  5. sql = "select * from test;"
  6. '使用sql对conn进行查询,后面的参数代表我要完全操作这个数据库
  7. rs.open sql,conn,1,3
  8. %>
  9. <!--此乃表头,asp代码可以与html代码混合,table默认是没有边框的,所以要设置一个border参数-->
  10. <br/>
  11. 表test的内容:
  12. <table border="1">
  13.   <tr>
  14.     <td>id</td>
  15.     <td>username</td>
  16.     <td>password</td>
  17.   </tr>
  18. <%
  19. '如果没有查到任何东西这样写,ASP没有括号,条件体必须用end if结束,then相当于左括号,end if相当于右括号
  20. if (rs.bof and rs.eof) then
  21. response.write "nodata!"
  22. else
  23. '否则就循环,直到读完这条游标,循环条件是not rs.eof,ASP没有括号,do while循环体必须用loop结束,do while后自带左括号,loop相当于右括号
  24. '下面的html循环一次就向网页写入一次
  25. do while not rs.eof
  26. %>
  27.   <tr>
  28.     <td><%=rs("id")%></td>
  29.     <td><%=rs("username")%></td>
  30.     <td><%=rs("password")%></td>
  31.   </tr>
  32.   <%
  33.   '读完一项,游标向下拉
  34. rs.movenext
  35. loop
  36. end if
  37. %>
  38. </table>
复制代码

4、增加、删除、修改操作部分
这里没有写出删除操作,修改操作则被注释掉了,但他们的用法与增加操作完全一样,
  1. <%
  2. '与查询操作不同的是,插入操作很简短。
  3. '修改操作可以用下面的语句,把test表的username字段(列)中为a的项都改为2
  4. 'conn.execute "update test set username='2' where username='a';"
  5. conn.execute "insert into test(username,password) values ('3','a');"
  6. %>
复制代码
插入之后再次查询的道理与上面的未插入之前是一样道理的,就不再进行说明了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|民间故事|新华字典|周公解梦|实用工具|加密解密|便民服务|盼盼工具箱|闹钟|默笙工具箱|易经风水|Archiver|手机版|小黑屋|盼盼资源网

GMT+8, 2020-7-7 23:37 , Processed in 0.209736 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表