C#用ソースコード


public DataSet GetDozeData() {
    conn = this.connect();
    cmd = conn.CreateCommand();

    cmd.CommandText =
        "SELECT e.EMPNO,e.ENAME,d.COUNT,d.FIRST,d.RECENT";
    cmd.CommandText +=
        " FROM EMP e LEFT JOIN DOZE d ON e.EMPNO = d.EMPNO";
    da = factory.CreateDataAdapter();
    da.SelectCommand = cmd;
    //SELECTの実行
    ds = new DataSet();
    da.Fill(ds);
    return ds;
}
リスト3 EMP表とDOZE表をJOINして社員情報と居眠り回数を取得(C#)

public void RegistDoze(Int32 ID) {
    conn = this.connect();
    cmd = conn.CreateCommand();
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "REGISTDOZE";
    DbParameter param1 = cmd.CreateParameter();
    param1.Value = ID;
    cmd.Parameters.Add(param1);
    //ストアドプロシージャ実行
    cmd.ExecuteNonQuery();
}
リスト4 ストアドプロシージャ呼び出しメソッド(C#)


void DozeGridView_RowCommand(
        Object sender, GridViewCommandEventArgs e) {
    Int32 index;
    Int32 EmpNo;
    DataAccess da = new DataAccess();

    e.CommandArgument.GetType();
    index = Int32.Parse((String)e.CommandArgument);
    EmpNo = Int32.Parse(
        DozeGridView.Rows[index].Cells[1].Text);
    da.RegistDoze(EmpNo);
}
リスト5 ボタン押下イベント時にストアドプロシージャを呼び出す(C#)