none
Default.aspxにプログラム文をコピー貼り付けするには RRS feed

  • 質問

  • かなりの頻度でSQL文に変更があり(抽出条件の並び順、抽出条件の数が変更)

    毎回のプログラム改訂作業を減らすため

    ①変更があった場合、抽出文をSQL文を自動生成する。

    ②Default.aspxに①のプログラム文をコピー貼り付けする。

    という方法を考えました。①は手順が思い浮かぶのですが、②の具体的な方策がわかりません。

    特に②について、プログラム文章をASP.NETへコピー貼り付け(エクスポート)することは可能でしょうか。

    Excel VBAで①②のプログラムを組んだことがあるので、

    それを参考に同じことを.NETで行うことが可能かどうか調べていますが、なかなか参考情報が見つかりません。

    そもそも .NETでの外部からのプログラムインポートが可能かどうか、

    またヒントや、他によい方法があればぜひ教えて下さい。

    どうぞよろしくお願いします。

     

    2008年1月11日 9:05

回答

  • いつもとても素早い回答をありがとうございます。

    1と2、両方さっそく作成してみます。

    特に2について教えて下さい。

     

    2.データベースにsql文を保存するようにしておき、Default.aspxはそのsql文をデータベースから取得して実行する。

     

    例えば①データベースの②というフィールドにSQL文を保存した場合、Default.aspxで

    Cmd.CommandText.=rs.tables(①,②)

    とすれば、毎回SQLの文字置換えをしなくても済むのでしょうか。

    Excelで抽出条件をリスト管理しており、変更時は「SQL更新ボタン」を押すと

    VBAで同じExcelファイル内のどこかに最新抽出文を書き込み、更にそれをプログラム側に更新しようと考えていましたが。。

    データベースにエクスポートすればプログラムが自動参照するのならとても便利です。

    ここをもし勘違いしていたら教えて下さい。

     

    とにかくさっそく書いてみます。

    助かりました、ありがとうございました!

     

    2008年1月11日 10:23

すべての返信

  • いくつか考えられますが、大きくわけて、.aspxそのものを作りかえるか、sql文を外部から取得するかのどちらかでしょう。

     

    1..aspxファイルはxcopy配置ができるので、sql文の部分のみを例えば#sql文のように書いておき、それを新しいsql文で文字列置換した.aspxファイルをwebサーバーにアップする。

     

    2.データベースにsql文を保存するようにしておき、Default.aspxはそのsql文をデータベースから取得して実行する。

     

    また、ストアドプロシージャやSQL CLRにパラメータを与えて、それらの内部でSQL文を動的に生成することも考えられます。問題はパラメータで必要なパターン全てを制御できるかですが・・・

     

    #でもこれができるなら、プログラム内部でSQL文を動的に組み立てられますね(^^;

    2008年1月11日 9:37
    モデレータ
  • いつもとても素早い回答をありがとうございます。

    1と2、両方さっそく作成してみます。

    特に2について教えて下さい。

     

    2.データベースにsql文を保存するようにしておき、Default.aspxはそのsql文をデータベースから取得して実行する。

     

    例えば①データベースの②というフィールドにSQL文を保存した場合、Default.aspxで

    Cmd.CommandText.=rs.tables(①,②)

    とすれば、毎回SQLの文字置換えをしなくても済むのでしょうか。

    Excelで抽出条件をリスト管理しており、変更時は「SQL更新ボタン」を押すと

    VBAで同じExcelファイル内のどこかに最新抽出文を書き込み、更にそれをプログラム側に更新しようと考えていましたが。。

    データベースにエクスポートすればプログラムが自動参照するのならとても便利です。

    ここをもし勘違いしていたら教えて下さい。

     

    とにかくさっそく書いてみます。

    助かりました、ありがとうございました!

     

    2008年1月11日 10:23
  •  kiftsgate さんからの引用

    例えば①データベースの②というフィールドにSQL文を保存した場合、Default.aspxで

    Cmd.CommandText.=rs.tables(①,②)

    とすれば、毎回SQLの文字置換えをしなくても済むのでしょうか。

     

    SQL文といえども単なるテキストですから、それをデータベースに保存しておき、必要な時にデータベースから取得して利用するのは可能だと思います。(やったことはありませんが。(^^;)

    2008年1月11日 10:33
    モデレータ