Foxtable(狐表)用户栏目专家坐堂 → [求助]调用access的存储过程


  共有2780人关注过本帖树形打印复制链接

主题:[求助]调用access的存储过程

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/26 8:53:00 [显示全部帖子]

首先access不存在存储过程这种东西,查询不是存储过程,类似SQL server的视图。和普通sql一样使用即可:http://www.foxtable.com/webhelp/topics/3266.htm

Dim cmd As new SQLCommand
cmd
.ConnectionName = "数据源名称"
cmd
.CommandText = "SELECT * FROM 某查询名称 WHERE 日期 >= ? AND 日期 <= ?"
cmd
.Parameters.Add("@开始日期",#2/1/2018#)
cmd
.Parameters.Add("@结束日期",#3/31/2018#)
Dim
 dt As DataTable = cmd.ExecuteReader()

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/26 10:11:00 [显示全部帖子]

肯定可以,请贴出完整代码

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/26 10:25:00 [显示全部帖子]

查询表XYZ的语句本来就应该是: select * from TbAAA

where xid = strm and yid = strn这个没有任何意义,本来就是在代码里传入的:WHERE xid = ? and yid = ?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/26 10:38:00 [显示全部帖子]

把查询和视图看作是一个表来理解就行了,表格可以在数据库添加条件的吗?如果还不理解,建议百度一下。查询本身是不存储数据的,简单的可以理解为是包装了一段SQL的代理工具,调用的时候才会有查询效率的问题,如果查询条件需要外部传入,就只能放到外面。外面传入的条件一样可以影响查询本身的效率。

当然,如果可以建议使用sqlserver,毕竟sqlserver对视图功能进行了一定的优化,已经提前对里面的sql进行了编译,相对执行普通sql会更快一点



 回到顶部