0

現在のように動的SQLではなくストアドプロシージャを使用するようにアプリケーションをアップグレードしています。私がやりたいのは、setUser(id)などのプロシージャを呼び出してから、そのIDを現在の接続中に繰り越すことです。現在のユーザーに関連する重要なデータを格納するUserVariablesテーブルがあります(セッションは非常に長く続くため、このデータを格納するためにセッションを使用していません。このようにして、ユーザーデータはログイン間も保持されます)。各ストアドプロシージャにユーザーIDを渡さずに、現在表示しているクライアントのIDなどのデータを選択したい。あなたが好きなら、それを怠惰と呼んでください!

私はこれをかなり検索し、さまざまな記事を調べましたが、それらはすべてグローバル変数(変更できません)または無関係なもののいずれかに関するものです。

基本的に私がやりたいのは、ページの読み込みの開始時にユーザーIDを設定し(これをある時点でsession_startメソッドに移動することもできます)、その後のすべてのストアドプロシージャの呼び出しまたはクエリ中にこの変数にアクセスすることです。

編集:私が求めているのは、aspページの先頭に変数を設定し(私のアプリケーションは古き良きクラシックaspで記述されています)、それをページ全体とインクルードで使用するときのようなものです。必要に応じて、接続を表すaspページとストアドプロシージャを表すインクルードを考えてみてください。

4

1 に答える 1

0

接続固有の変数を設定する代わりの適切な方法を見つけました。sproc名、パラメーター名の配列、パラメーター値の配列、および返す変数(つまり、byref変数)を受け取る関数があります。この関数を変更して、パラメーターが更新されたときに、ユーザーIDパラメーターをチェックし、存在する場合は自動的に設定するようにしました。次に、「retval」パラメーターが存在する場合はそれを返し、存在しない場合は戻り変数をに設定しますmyCmd.execute

于 2012-09-15T22:04:08.597 に答える