none
ASP.NETでのSQL文管理 RRS feed

  • 質問

  • ASP.NETでSQL Serverに接続する

    アプリケーションを作成しています。

    SQL を実行する際はSQL文を直接記入しています。

    あまりよくないなと思っています。

    web.configに書くのがベタなのでしょうか。

    2010年7月6日 2:24

回答

  • SQLを実行するとは、select文の発行などのことでしょうか? であれば、SQL文を直接記述してもかまいませんが、SQLインジェクションが発生しないようにして下さい。具体的には文字列連結でSQL文を作成せず、パラメータを使用してSQL文を作成して下さい。もしくはストアドプロシージャの使用を検討して下さい。(ストアドプロシージャだからといってSQLインジェクションが100%無くなるわけではありませんのでご注意ください)

    また、接続文字列のことでしたら、暗号化して持つことができます。


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク net_test 2010年7月6日 8:54
    2010年7月6日 4:04
    モデレータ

すべての返信

  • SQLを実行するとは、select文の発行などのことでしょうか? であれば、SQL文を直接記述してもかまいませんが、SQLインジェクションが発生しないようにして下さい。具体的には文字列連結でSQL文を作成せず、パラメータを使用してSQL文を作成して下さい。もしくはストアドプロシージャの使用を検討して下さい。(ストアドプロシージャだからといってSQLインジェクションが100%無くなるわけではありませんのでご注意ください)

    また、接続文字列のことでしたら、暗号化して持つことができます。


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク net_test 2010年7月6日 8:54
    2010年7月6日 4:04
    モデレータ
  • 使うSQL文がちょくちょく変わるのであればweb.configに書くという方法もあるのかもしれませんが、

    あまり一般的な方法じゃないと思います。

    aspx.csやaspx.vbファイルに直接SQL文を記述するのではなく、SQL文を実行するクラスを作成して

    それを呼び出すようにすれば見通しがよくなるのではないでしょうか。

    なお、SQL文を組み立てるときは入力値などを直接SQL文に書かずにSqlParameterクラスを活用して

    ください(SQL文の組立て自体は文字列連結しても問題ありません)。


    http://blogs.wankuma.com/hatsune/
    2010年7月6日 6:54
  • ご指摘ありがとうございます。

    使っているのはSelectです。

    了解しました。ありがとうございました。

     

     

    2010年7月6日 8:57