SQLクエリ文字列は,埋め込みリソース化するテキストファイルを利用すると,より便利です
関連記事
- なんと!今週の土曜日も仕事してますた.来週の土曜日も仕事臭い.TCPソケット通信をゴリゴリ書いてる 【2025年08月30日(土)】
- 【ChatGPT o4】祝日なのに仕事ーバテすぎー今夜こそ絶命だーモルモルモル 【2025年03月20日(木)】
- 【#CSharp】制御系が動き出したべ 【2025年02月20日(木)】
- 【#CSharp】ひっさしぶりにガッツリなC#案件をやっているぞー 【2025年02月19日(水)】
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
「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割 環境省まとめ、出没は最多2万件
「ニュウハクシミ」紙を食べる害虫 生息19都道府県に拡大
文化の日な祭日らしい.文化的に休むもうず?
【#HTVX】新型宇宙輸送船HTV-X 油井さんがロボットアームでキャッチ
【冬】来週11℃予想とか出てきてる.秋があったのか,今年(25/10/23)
【ツル】出水平野に冬の訪れを告げるツル第一陣・今季初飛来 鹿児島(25/10/21)
都城でプロ野球・ロッテ1軍が春季キャンプ実施へ
山形で開催の映画祭 監督など国内外の参加者が“芋煮”味わう
連休なんで生駒高原でコスモスを愛でてきた
連休の中日ですの.天気は良くなる方向じゃげ