我正在升级我的应用程序以使用存储过程而不是现在的动态SQL。我想做的是调用一些过程,例如setUser(id),然后在当前连接的持续时间内将该ID转发。我有一个UserVariables表,它存储与当前用户相关的重要数据(我没有使用会话来存储这些数据,因为会话只持续这么久;这样用户数据就会在登录时保持不变)。我想选择数据,例如他们当前正在查看的客户端的ID,而不必将用户ID传递到每个存储过程。如果你愿意,可以称之为懒惰!
我已经搜索了相当多的内容,并查看了各种文章,但它们都是关于全局变量(我们无法改变)或者不相关的东西。
基本上我想要做的是在页面加载开始时设置用户ID(甚至可以在某个时刻将其移动到session_start方法中),然后在所有后续存储过程调用或查询期间访问此变量。
编辑:我所追求的就像你在asp页面的开头设置变量一样(我的应用程序是用很好的经典asp编写的)然后你在整个页面和任何包含中使用它。如果您愿意,可以考虑表示连接的asp页面和表示存储过程的包含。
答案 0 :(得分:0)
我找到了设置连接特定变量的合适替代方法。我有一个函数,它接受sproc名称,参数名称数组,参数值数组和要返回的变量(即byref变量)。我已修改此函数,以便在刷新参数时,它会检查userid参数并自动设置(如果存在)。然后返回'retval'参数(如果存在),否则将返回变量设置为myCmd.execute
。