如何在 Access 里使用查询建立 存储过程/视图, 并使用 ASP 执行_Access数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:如何设置Access项目中检索的记录数
在使用 Microsoft Access 项目的窗体或数据表中的数据时,为了提高性能,可以设置从 SQL Server 数据库下载的最大记录数。 1.在“导航”模式中打开数据表或窗体。 2.执行下列操作之一: 从“记录”菜单中选择“最大记录数”。 单击导航按钮右侧的“最大记录

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.  
  6. function fCloseCnn(cnn)
  7. cnn.close
  8. set cnn=nothing
  9. end function
  10. %>

  11. 3.2 组合使用 fCreateCnn, fCloseCnn, tt_insertParm 添加记录
     
  12. linenum
  13. <%
  14. dim title, content
  15. title="insert title"
  16. content="insert content"
  17. dim cnn, rs
  18. dim i
  19. call fCreateCnn(cnn)
  20. cnn.open conn
  21. for i=1 to 10
  22. cnn.execute("exec tt_insertParm "&title&i&","&content&i)
  23. next
  24. call fCloseCnn(cnn)
  25. if err.number=0 then response.Write "数据已添加" else response.Write "发生错误, 数据未添加"
  26. %>

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改为SQL需要注意的地方
看到别人有时问这个方面的问题。。于是在各网站总结前前辈高人的几点想法,拿来共享: 数据库导入以后,自动增加字段需要重写,所有的数字类型需要增加长度,最好用decimal。 所有的默认值都丢失了。主要是数字类型和日期类型。 所有now(),time(),date()要

来源:模板无忧//所属分类:Access数据库教程/更新时间:2010-02-28
相关Access数据库教程