SQLクエリ文字列は,埋め込みリソース化するテキストファイルを利用すると,より便利です
関連記事
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
- 生成AI「仕事で利用」2割 正確性などに懸念(23/5/7) 【2023年05月07日(日)】
- 【#RaspberryPI】ラズパイでsudo起動の.Net6アプリがデバグできない件 【2023年04月22日(土)】
- 【#PostgreSQL】テーブルから取得したレコードセットをCSVへ落とそうとすると,空ファイルが出来る...ドロドロドロ 【2023年03月08日(水)】
- 【#git】TortiseGit ver2.14のGitWCRev.exeを動かすとErrorCD:10を出力して,動かない 【2023年02月08日(水)】
「SQLクエリ文字列は,文字列リソースファイルに記述したら便利です」
って,昔は,文字列リソースファイルに記述しておったんじゃけど
これ,SQLクエリが縦に長くなってくると,非常に見づらい(汗
Visual Studioのリソースエディタの縦スクロールの処理がイマイチで,巨大クエリの一部が,キレイに表示されないわ
カーソル移動によっては,次の文字列リソース位置に,フォカースが移るわ,で
オイラ平気で,数段ネストのある副クエリを書きまくるので
SQLがバグると,非常にデバッグがめんどくさい
ってことで,最近は,SQLをテキストファイルに記述して
このテキストファイルを,VSのプロジェクトに引き込み,EXE内へ埋め込みリソースとして組み込む,みたいなやり方が増えてきておりまする
(ソリューションエクスプローラから,テキストファイルを選択して,プロパティ:ビルドアクションを「埋め込まれたリソース」に変更するだけで,EXEに組み込まれまする)
埋め込みリソーステキストファイルなら,VSのエディタでも,普通のソースファイルとして表示編集できますし(縦方向に長くなってもイライラしなくて済むしのぉ)
C#辺りからアクセスするには
//--------------------------------------------- //リソースからクエリ文字列を取得 // //--------------------------------------------- protected string LoadQueryText(string path) { //現在のコードを実行しているAssemblyを取得 System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetExecutingAssembly(); System.IO.Stream stm = myAssembly.GetManifestResourceStream(path); //指定されたマニフェストリソースを読み込む System.IO.StreamReader sr = new System.IO.StreamReader( stm, System.Text.Encoding.GetEncoding("shift-jis") ); //内容を読み込む string s = sr.ReadToEnd(); //後始末 sr.Close(); return s; } ...... string sql; sql = LoadQueryText("DBCtrl.Query2.tbl.S." + "sql_s_selectlistall.txt");にて.
DBCtrlがアセンブリ名
Query2.tbl.S.は,ファイルが置かれているプロジェクト内フォルダ名
sql_s_selectlistall.txtが,SQLクエリが書かれている,テキストファイル本体でごわす
コメント
【#インボイス】岸田首相、インボイス制度「事業者の悩みを把握しきめ細かい取り組み」を指示 初の関係閣僚会議
桜島フェリー運賃アップへ 来年7月から大人50円↑ 鹿児島市が案示す
【体調不良】起きて早々,閃輝暗点発生中
【#あまちゃん】「あまちゃん」放送10周年記念 スペシャルコンサート 久慈
#あまちゃん 10周年スペシャルコンサートのチケットを買ってみた eplusの新会員登録画面,作りがなっとらん!
イーロン・マスク氏 「X」全利用者に少額課金求める考え示す
秋分の日 雨が降り出した しかも涼しい
【#インフルエンザ】「インフル 4週間以内に大流行の可能性 対策を」小池都知事