// 쿼리 불러오기 public void Do_Query(string query) { db.Open(); try { db.Query(query); } catch (Exception ex) { MessageBox.Show(query + "\n\n" + ex.Message, "SQL Error"); } int r = 0; // 행의 개수를 알기 위함 DataTable dataTable = new DataTable(); if (db.HasRows) { dataTable.Columns.Add("상태"); dataTable.Columns.Add("학번"); dataTable.Columns.Add("이름"); while (db.Read()) { for (int i = 0; i < db.FieldCount; i++) { list.Add(db.GetData(i).ToString()); } r++; } } for (int i = 0; i < r; i++) { bool removeFlag = false; // 재학 상태 변환 int insertPoint = 4 + i * 8; for (int j = 0; j < statusCode.Length; j++) { if (statusCode[j].ToString().Equals(list.ElementAt(insertPoint))) { list.Insert(insertPoint, statusName[j]); removeFlag = true; } } if (removeFlag) { list.RemoveAt(insertPoint + 1); } string[] need = { list.ElementAt(4 + i * 8), list.ElementAt(0 + i * 8), list.ElementAt(1 + i * 8) }; dataTable.Rows.Add(need); } result.ColumnWidth = this.Width / db.FieldCount; // 그리드의 가로 폭 지정 result.RowHeight = result.Height / (r + 1); // 그리드의 세로 길이 지정 result.ItemsSource = dataTable.DefaultView; // 그리드와 테이블 연동 db.Close(); }
//---------------------------------------------- //---------------------------------------------- private void InitializeCombo상태() { query상태 = "SELECT xStatus_title FROM xSTUDENT_STATUS"; string err_msg상태 = db.Query(query상태); if (err_msg상태 != null) { MessageBox.Show(query학과 + "\n\n" + query상태); } cbx_상태입력.Items.Clear(); while (db.Read()) { for (int i = 0; i < db.FieldCount; i++) { cbx_상태입력.Items.Add(db.GetData(i)); } } }