• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 智能建站
  • 时代互联
  • 中国红网
  • 中资源!
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 数据库类 >> ACCESS >> 文章内容
 

精彩推荐

 
 

本类推荐文章

  • ACCESS集锦
 
 

本类阅读排行

  • 用Access 2000进行班级管理
  • Delphi中的Access技巧集
  • 浅谈ACCESS数据库升迁SQLSER..
  • 如何更改Access默认的中文输..
  • ACCESS集锦
  • 能否编译mdb文件到exe文件?
  • 建立Access 数据库的安全门
  • Access 的最大容量
  • 用Access设计客观试卷(一)
  • 用Access将XLS与MDB文件格式..
  • Access数据库及其基本操作
  • 在 Access 中使用“存储过程..
  • ACCESS数据库的安全系统
  • Access2003开发者扩展工具集..
  • Access数据库开发技巧(二)
  • 使ACCESS数据库保持同步
  • 用Access设计客观试卷(三)
  • Access与Office其他成员轻松..
  • Access 新手来看
  • 提高拆分数据库在网上运行、..
 
 

在 Access 中使用“存储过程”

  • 日期:2006-10-26     人气:     出处:锋网源码     作者: 郁郁小蝎
  • 字体大小:
  • 小
  • 中
  • 大

 但是我们使用 Access 存储过程的主要目的,就是使用参数额外提供的查询,使用存储过程,我们不必再面对将参数值拼接到 SQL 语句字符串中时遇到的各种麻烦,比如:

  代码:
  --------------------------------------------------------------------------------
  Dim sql
  sql = "SELECT * FROM Users WHERE UserName = '" & userName & "'"
  --------------------------------------------------------------------------------

  以上代码中,如果字符串变量 userName 中含有“'”单引号,则会报错。我们必须手工转化:

  代码:
  --------------------------------------------------------------------------------
  Dim sql
  sql = "SELECT * FROM Users WHERE UserName = '" & Replace(userName, "'", "''")
  & "'" '转化为连续两个单引号
  --------------------------------------------------------------------------------

  而使用带参数查询,我们的 SQL 语句可以写为:

  代码:
  --------------------------------------------------------------------------------
  Dim sql
  sql = "SELECT * FROM Users WHERE UserName = @userName"
  --------------------------------------------------------------------------------

  然后把参数 @userName 的值以 Command 对象的 Parameter 属性来传入即可,很方便直观。

  代码:
  --------------------------------------------------------------------------------
  With cmd
  '创建参数对象
  .Parameters.Append .CreateParameter("@userName")

  '给各参数指定值
  .Parameters("@userName") = userName
  End With
  --------------------------------------------------------------------------------

  这里还要说明 Access 存储过程中参数的使用。和 SQL Server 的存储过程中用 @ 变量指定参数,然后同名传入参数对象不同,Access 中的参数,是以“顺序”而非“名字”来识别的。传入的参数无需指定名字,随便起,SQL 中的参数名字也可以随便起,只要传入参数值时,按照 SQL 语句中的参数出现顺序指定就行了。通常,我们使用 Command 对象的 Execute 方法,直接传入参数值数组来执行~

  代码:
  --------------------------------------------------------------------------------
  cmd.Execute , Array(userName)
  --------------------------------------------------------------------------------

  再比如,你的一个 Access 存储过程这么写:

  代码:
  --------------------------------------------------------------------------------
  select * from Users where UserName = p_UserName and BookTitle = p_bookTitle
  --------------------------------------------------------------------------------

  你可以就这么执行,通过传入参数值数组,但是顺序要对应:

  代码:
  --------------------------------------------------------------------------------
  cmd.Execute , Array(userName, bookTitle)
  --------------------------------------------------------------------------------

  OK,看看我们的例子中使用的两个查询,一个是写入数据。写好 SQL 语句后存并命名。


  另一个读取数据的存储过程代码。

[1] [2] [3]
相关文章
  • 在 Access 中使用“存储过程”
  • 在 Access 中使用“存储过程”
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号  

感谢:点击网络 联网科技 天盈信息  提供服务器及带宽赞助