public WorkInfoData[] Select(string PostId) { //int iRel = -1; CommonDB objDB = new CommonDB(); WorkInfoData[] dataWorkInfo = new WorkInfoData[1]; string sql = "select * from WorkInfo where PostId= " + PostId + " "; try { objDB.OpenConnection(); DataSet ds = objDB.QueryData(sql, "departmentinfo"); if (ds.Tables.Count > 0) { long nRow = ds.Tables[0].Rows.Count; if (nRow > 0) { dataWorkInfo = new WorkInfoData[nRow]; for (int i = 0; i < nRow; i++) { dataWorkInfo[i] = new WorkInfoData(); dataWorkInfo[i].Post = ds.Tables[0].Rows[i]["Post"].ToString(); dataWorkInfo[i].WorkPlace = ds.Tables[0].Rows[i]["WorkPlace"].ToString(); dataWorkInfo[i].HourlyWage = ds.Tables[0].Rows[i]["HourlyWage"].ToString(); dataWorkInfo[i].GenderReq = ds.Tables[0].Rows[i]["GenderReq"].ToString(); dataWorkInfo[i].BelongUnit = ds.Tables[0].Rows[i]["BelongUnit"].ToString(); dataWorkInfo[i].GradeReq = ds.Tables[0].Rows[i]["GradeReq"].ToString(); dataWorkInfo[i].LossForAbsence = ds.Tables[0].Rows[i]["LossForAbsence"].ToString(); dataWorkInfo[i].JobDescription = ds.Tables[0].Rows[i]["JobDescription"].ToString(); dataWorkInfo[i].ApplyTimeBe = ds.Tables[0].Rows[i]["ApplyTimeBe"].ToString(); dataWorkInfo[i].ApplyTimeFi = ds.Tables[0].Rows[i]["ApplyTimeFi"].ToString(); dataWorkInfo[i].PeoNumberDemand = ds.Tables[0].Rows[i]["PeoNumberDemand"].ToString(); } } } } catch (Exception ex) { //iRel = -1; } objDB.CloseConnection(); objDB.Dispose(); objDB = null; return(dataWorkInfo); }
public bool Insert(WorkInfoData dataWorkInfo) { int iRel = -1; bool bRel = false; CommonDB objDB = new CommonDB(); try { objDB.OpenConnection(); string strSql = " insert into WorkInfo (PostId,Post,WorkPlace,HourlyWage,GenderReq,BelongUnit,GradeReq,LossForAbsence,JobDescription,ApplyTimeBe,ApplyTimeFi,PeoNumberDemand) values (@PostId,@Post,@WorkPlace,@HourlyWage,@GenderReq,@BelongUnit,@GradeReq,@LossForAbsence,@JobDescription,@ApplyTimeBe,@ApplyTimeFi,@PeoNumberDemand) "; objDB.Command.CommandType = System.Data.CommandType.Text; objDB.Command.CommandText = strSql; objDB.Command.Parameters.AddWithValue("@PostId", dataWorkInfo.Post); objDB.Command.Parameters.AddWithValue("@Post", dataWorkInfo.Post); objDB.Command.Parameters.AddWithValue("@WorkPlace", dataWorkInfo.WorkPlace); objDB.Command.Parameters.AddWithValue("@HourlyWage", dataWorkInfo.HourlyWage); objDB.Command.Parameters.AddWithValue("@GenderReq", dataWorkInfo.GenderReq); objDB.Command.Parameters.AddWithValue("@BelongUnit", dataWorkInfo.BelongUnit); objDB.Command.Parameters.AddWithValue("@GradeReq", dataWorkInfo.GradeReq); objDB.Command.Parameters.AddWithValue("@LossForAbsence", dataWorkInfo.LossForAbsence); objDB.Command.Parameters.AddWithValue("@JobDescription", dataWorkInfo.JobDescription); objDB.Command.Parameters.AddWithValue("@ApplyTimeBe", dataWorkInfo.ApplyTimeBe); objDB.Command.Parameters.AddWithValue("@ApplyTimeFi", dataWorkInfo.ApplyTimeFi); objDB.Command.Parameters.AddWithValue("@PeoNumberDemand", dataWorkInfo.PeoNumberDemand); iRel = objDB.Command.ExecuteNonQuery(); } catch (Exception ex) { //iRel = -1; throw new Exception(ex.ToString()); } objDB.CloseConnection(); objDB.Dispose(); objDB = null; bRel = (iRel.Equals(1) ? true : false); return(bRel); }
/// <summary> /// 1000 [ms]毎に情報取得 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tick(object sender, EventArgs e) { Console.WriteLine("ticked."); // アクティブウィンドウ(フォアグラウンド)のハンドル取得 IntPtr hWnd = GetForegroundWindow(); // プロセスID取得 int id; GetWindowThreadProcessId(hWnd, out id); // プロセス情報取得 Process p = Process.GetProcessById(id); if (p == null) { return; } StringBuilder sb = new StringBuilder(65535); //256とかでええんか?に特に意味はない GetWindowText(GetForegroundWindow(), sb, 65535); WorkInfoKey key = new WorkInfoKey(p.ProcessName, sb.ToString()); // まずはすでに存在するデータかどうか検索 WorkInfoData foundData = null; foreach (var data in this.blist) { if (key.Equals(data.key)) { foundData = data; break; } } if (foundData != null) { // すでにあるのでデータ更新のみ foundData.incTestCounter(); } else { // 新規データ var value = new WorkInfoData(key); this.blist.Add(value); value.incTestCounter(); } // 以下でもいいが、ポーリングしたくないのでDataにINotifyPropertyChangedを実装する方式にする // this.dataGridView1.Refresh(); // ここで、改めてソートした方がいいかも? // TODO:以下のやり方でいいのかよくわからない。。。 #if false // ソート状態を調べる DataGridViewColumn sortOrderColumn = null; SortOrder sortOrder = SortOrder.None; foreach (DataGridViewColumn column in this.dataGridView1.Columns) { if (column.HeaderCell.SortGlyphDirection != SortOrder.None) { sortOrderColumn = column; sortOrder = column.HeaderCell.SortGlyphDirection; break; // とりあえず、単一ソートのみと仮定 } } if (sortOrderColumn != null) { // ソートされている列があるので、並び替えを行う this.dataGridView1.Sort(sortOrderColumn, (sortOrder == SortOrder.Ascending) ? ListSortDirection.Ascending : ListSortDirection.Descending); } #endif }