编程开发 > ACCESS > 文章内容

在Access里使用查询建立存储过程/视图并使用ASP执行

2011-10-14编辑:mal
摘要: 本文演示了 使用 Access查询 构造类似于 MSSQL 存储过程的功能, 并在 ASP 中操作插入数据,显示数据功能.

目录:
1. 在 Access 查询里建表, 名 tt

2. 在 Access 查询里新建查询, 内容为:...

3. 在 ASP 里使用 tt_insertParm 添加10条记录到 表tt
3.1 构造ASP ado 连接函数, fCreateCnn 与 fCloseCnn
3.2 组合使用 fCreateCnn, fCloseCnn, tt_insertParm 添加记录

4. 在 Access 查询里 创建 显示数据用的 存储过程/视图, 内容:...

5. 在 ASP 里使用 tt_selectParm 选取数据

6. 完.


1. 在 Access 查询里建表, 名 tt
输入以下内容到查询, 并执行, 执行后就新建表 tt 了.
    linenum
  1. create table tt
  2. (
  3. id autoIncrement
  4. primary key,
  5. title varchar(255),
  6. content memo,
  7. dateandtime date
  8. )

说明:
id 字段为自动编号, 并且为主键
title 为文本类型, 长度 255
content 为备注类型
dateandtime 为日期类型

2. 在 Access 查询里新建查询, 内容为:
    linenum
  1. parameters spTitle varchar(255),spContent varchar(255);
  2. insert into tt(title, content, dateandtime)
  3. values([spTitle], [spContent], now())

保存名为: tt_insertParm
作用为: 添加记录到 Access 的存储过程
注: spContent 字段里, 某某无法使用 memo 数据类型.

3. 在 ASP 里使用 tt_insertParm 添加10条记录到 表tt

3.1 构造ASP ado 连接函数, fCreateCnn 与 fCloseCnn
    linenum
  1. <%
  2. function fCreateCnn(cnn)
  3. set cnn=createObject("adodb.connection")
  4. end function
  5. function fCloseCnn(cnn)
  6. cnn.close
  7. set cnn=nothing
  8. end function
  9. %>

3.2 组合使用 fCreateCnn, fCloseCnn, tt_insertParm 添加记录
    linenum
  1. <%
  2. dim title, content
  3. title="insert title"
  4. content="insert content"
  5. dim cnn, rs
  6. dim i
  7. call fCreateCnn(cnn)
  8. cnn.open conn
  9. for i=1 to 10
  10. cnn.execute("exec tt_insertParm "&title&i&","&content&i)
  11. next
  12. call fCloseCnn(cnn)
  13. if err.number=0 then response.Write "数据已添加" else response.Write "发生错误, 数据未添加"
  14. %>

4. 在 Access 查询里 创建 显示数据用的 存储过程/视图, 内容:
    linenum
  1. PARAMETERS qId Long;
  2. SELECT *
  3. FROM tt
  4. WHERE id=iif(isNull([qId]),id,[qId])

保存名为: tt_selectParm
说明: 如果 qId 参数值为空, 则选取所有数据, 否则选取 qId 对应的行

5. 在 ASP 里使用 tt_selectParm 选取数据
    linenum
  1. <%
  2. dim qId, fldNum, i
  3. qId = 10
  4. dim cnn, rs
  5. call fCreateCnn(cnn)
  6. cnn.open conn
  7. set rs = cnn.execute("EXEC tt_selectParm " & qId)
  8. 'set rs = cnn.execute("EXEC tt_selectParm null")
  9. fldNum=rs.fields.count-1
  10. do until rs.eof
  11. for i=0 to fldNum
  12. response.write rs(i)
  13. response.write " "
  14. next
  15. response.write "<br/>"
  16. rs.movenext
  17. loop
  18. rs.close
  19. set rs=nothing
  20. call fCloseCnn(cnn)
  21. %>


6. 完.

附注: 还有 更新,删除数据 的 存储过程/视图 没有演示, 不过相信你如果看了以上操作, 这个应该不是问题了


Access数据库过大问题的几种解决方案

热点推荐

登录注册
触屏版电脑版网站地图