NetDictionaryで始める Webサービス・プログラミング 4.ICD Webサービスのデータベース処理
|
ここまでに解説したADO .NETによるデータベース・アクセスの処理方法を用いて、ICD Webサービスに必要なデータベース処理を行うコンポーネントを記述することができる。次のリストがこのコンポーネントのソースコードだ(ただしリストが少し長いため、解説用に多くの部分を省略している。完全なソースコードはこちら(icddb.cs)を参照していただきたい)。
|
|
データベース処理コンポーネントのソースコード(抜粋) | |
ICD Webサービスにおけるデータベース処理はすべてこのコンポーネントで行っている。 | |
プログラムの冒頭部分で定義しているWORDクラスは、1つの見出し語を表すこのコンポーネントの基本データ構造で、見出し語名のほかにそのIDと英文読み、日本語読みを含んでいる。
7: public class WORD { |
そしてICDDBクラスは、次の6つのメソッドを提供している。
public WORD[] GetWordsByTitle(string title, bool partial)
public WORD GetWordById(string id)
public string GetMeaningById(string id)
public WORD[] GetRefsById(string id)
public WORD[] GetAliasesById(string id)
public string GetUrlById(string id)
各メソッドでの処理は、そのメソッド名からおおよそ予想がつくだろう。GetWordsByTitleメソッドは、指定された文字列を検索して、見つかったすべての見出し語を返すメソッドである。第2引数である“partial”には、部分一致による検索のOn/Offを指定する。ここに“true”を指定した場合、見出し語名の一部に検索文字列を含むような見出し語をすべて列挙する。GetWordsByTitleメソッド以外のメソッドで引数となっているidは、ユニークな見出し語のIDである。
少し余談になるが、プログラム内でのSQL文の記述にはC#のverbatim文字列(verbatimは「一字一句変えずに」という意味)を使用している。これはダブル・クオーテーションの前に“@”を付けることによって、ソースコードに記述したままの文字列を生成することができる機能だ。
108: string sql = String.Format(@" |
プログラムでSQL文やHTML文のような長くなりがちな文字列定数を扱う場合、エディタの一行に収まらなかったり、複数の文字列に分割して連結したりして見栄えが悪くなることがよくある。このような場合にverbatim文字列は非常に便利だ。もちろん文字列には改行コードが含まれてしまうが、SQL文では特に問題にならない。
ソースコードの最後では、Mainメソッドを記述し、このコンポーネントの簡単な単体テストを行うためのコードを追加している。このようなコードを付けておけば、ほかのプログラマがこのコードを利用する場合の参考にもなる。
さて今回は、ICD Webサービスのデータベース処理のためのコンポーネントを作成したが、すでにこれでICD Webサービスの約80%はできあがっている。次回は、Webサービスとして公開するメソッドを作成し、最初のバージョンのICD Webサービスを完成させる予定だ。
INDEX | ||
[特集]NetDictionaryで始めるWebサービス・プログラミング | ||
第4回 辞書データベースへのアクセス | ||
1.ヘルプ・ページのテンプレート | ||
2.ICDデータベースの構造 | ||
3.ADO .NETによるデータベース・アクセス | ||
4.ICD Webサービスのデータベース処理 | ||
特集 : NetDictionaryプロジェクト |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|