読者です 読者をやめる 読者になる 読者になる

DBFlute.NETを触るメモ(9) コードの記述 〜1件SELECT〜

dbflute

使用するビヘイビアクラスをProtectedで宣言

Form1.csにて、使用する「ビヘイビア」クラスをProtected修飾子で宣言します。このビヘイビアクラスはQuillのDI(依存性注入)によってインスタンスが設定されます。されます。そのためコードからインスタンス化する必要はありません。

最初のSELECTするコード

using DbFluteSampleLib.ExBhv;
using DbFluteSampleLib.ExEntity;

namespace DbFluteSampleWin
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //Quillによってインスタンスが設定される
        protected 書籍Bhv _書籍Bhv;

        private void button1_Click(object sender, EventArgs e)
        {
            //IDが101の書籍データを取得
            書籍 book = _書籍Bhv.SelectByPKValue(101);
            txtTitle.Text = book.タイトル;
            txtPublish.Text = book.出版日.Value.ToString("yyyy/MM/dd");

        }
    }

}

上のコードによって、ボタンクリック時に、書籍のIDが101のデータをデータベースから取得できます。

ログ出力

出力ウィンドウには、実行されたSQLが表示されます。

DEBUG (XLog#Log():19) - SqlCommand Initialization Cost: [00m00s225ms]
DEBUG (XLog#Log():19) - /============================================================================
DEBUG (XLog#Log():19) - 書籍Bhv.SelectByPKValue()
DEBUG (XLog#Log():19) - ======================/
DEBUG (Logger#Log():0) - 論理的なコネクションを取得しました
DEBUG (QLog#Log():20) -
select dflocal.Id as Id, dflocal.タイトル as タイトル, dflocal.出版日 as 出版日, dflocal.著者ID as 著者ID
from 書籍 dflocal
where dflocal.Id = 101
DEBUG (Logger#Log():0) - 論理的なコネクションを閉じました
DEBUG (XLog#Log():19) - ===========/ [00m00s280ms (1) result={101,C#入門,2009/08/12 0:00:00,3}]