C#でのSQLの書き方

C#, IT

C#でSQLを書く際の記述方法をまとめます。


駄目な例

駄目な例としてよく挙がっている書き方です。
+での連結は連結する文字列の数が多いとパフォーマンスが下がるらしいです。
逆に言えば上記の例みたいに数回連結する程度なら+連結は有用です。
ただ、古いプロジェクトならともかく、
最近のプロジェクトで上記の書き方はあんまり見ない気がします。
ですので使わないほうが無難かもしれません。

よく見かける書き方がこれです。
僕がよくやらかすのが半角スペースの入れ忘れです。
SQLの一行目の文末にスペースが入っていますが、
このスペースがないとHOGE1とFROMがつながってしまいエラーが発生します。
こんな単純なことでけっこう時間を奪われることが多いので、
あんまり好きじゃない書き方です。


良さげな記述方法

駄目な例のAppendをAppendLineにしただけです。
Appendと違い、AppendLineは改行してくれるので、
一行目の文末にスペースを入れなくてもエラーになりません。
ログなども改行してくれるので見やすいです。

逐語的文字列リテラルで書く方法です。
一緒に作業している後輩がめっちゃ勧めてきました。
ただif文とかで条件分岐する際には
結局StringBuilder.AppendLineを使っていたので僕としては好きじゃないです。
ログに一行で出てしまう欠点もあります。


結論

StringBuilder.AppendLineを使うのが良いような気がします。

C#, IT

Posted by raishin