仕事

[c#]コード内にSQL書くときってどうしてますの?

投稿日:


SQLステートメントをコード中に書く場合

みたいな感じで記述していくと、長文になればなるほど可読性が悪くなってしまう。

なので、

という風に書く人いますけど、これもSQL修正するの大変なんだよね…
まず、SQLステートメントに問題があるかもしれないので、抜き出して動作検証するってこと考えた場合

というSQLステートメントを抜き出したいわけで、これが大変ですぉ!

なので、こういう風に書いてもらえないでしょうか?

こう書いておくと、昨今のテキストエディタのボックスコピー(矩形範囲のコピー)機能でSQLステートメントが簡単に取り出せるんですよね…

しかし、無駄なスペースが入っているので、DBサーバーとの通信オーバーヘッドが気になりますな。

なので、こんな感じで拡張メソッド作るってのはどうですかねぇ

で、こう書けば。

どう?ダメ?

-仕事

執筆者:


  1. SQL書くときは逐語的リテラルを使ってます

    string sql = @”
    SELECT
    USER_ID,
    USER_NAM
    FROM
    USERS
    WHERE
    INS_DATE >= ?”;

    読みやすい、保守しやすいのでおすすめです(パフォーマンスの良し悪しはわからないですw)

    • tkymgr より:

      うぉぉおぉ。これも試してみます!

      保守重要ですよねw
      コーディング規約とか、この辺りを盛り込んだものにすべきですよね。
      どうでもいいルールは書いてあったりするんだけどw

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

[c#] データベースのデータをCSVエクスポートする

まぁ、ネットにソースはいっぱい転がってるよね…データ移行なんかで単純にエクスポートしたいわけで。

Exchange Server 2003 で 複数アドレスに転送する

いろいろ調べた結果、複数の転送先を指定することは仕様上できないことがわかった。

[Excel2010] 印刷の時に行見出しを指定したいのに、指定できないジャマイカ!

ちょっと今更感のある話。 社内も最近、Windows7化されつつ有り、ようやくExcel2003からExcel2010になったんだけど、カルチャーショックです。使い方が変わり杉。 印刷の時に行見出しを …

SQL Server 2008のReporting Service用に作成したレポートをExportする

結局、SQL Server自身のDBに保存されてるが、ある意味レポート定義のxml的なファイルである。

CentOS 6.5 に intra-mart をインストールしたときのメモ(その後)

外部アクセスに関する設定など思い出したら書く。 ストレージをWindowsからアクセスする設定 Sambaのインストール

アクセス用L …