// 실행 버튼 누르면 발생 private void Play(object sender, RoutedEventArgs e) { db.Open(); string query = sql_Cmd; recentList.Items.Add(query); // 쿼리 실행 try { db.Query(query); } catch (Exception ex) { MessageBox.Show(query + "\n\n" + ex.Message, "SQL Error"); return; } int r = 0; // 행의 개수를 알기 위함 DataTable dataTable = new DataTable(); if (db.HasRows) { DataColumn[] col = new DataColumn[db.FieldCount]; // 열 생성 for (int i = 0; i < col.Length; i++) { col[i] = new DataColumn(); col[i].ColumnName = db.GetName(i); // 열이름 지정 dataTable.Columns.Add(col[i]); // 테이블에 추가 } string [] txt = new string[db.FieldCount]; while (db.Read()) { DataRow dr = dataTable.NewRow(); // 행 생성 for (int i = 0; i < db.FieldCount; i++) { dr[i] = db.GetData(i).ToString(); // 데이터 지정 } dataTable.Rows.Add(dr); // 테이블에 추가 r++; } } myGrid.ColumnWidth = this.Width / db.FieldCount; // 그리드의 가로 폭 지정 myGrid.RowHeight = myGrid.Height / (r + 1); // 그리드의 세로 길이 지정 myGrid.ItemsSource = dataTable.DefaultView; // 그리드와 테이블 연동 db.Close(); }
//테이블 그리기 public void InitializeTable() { DataTable dt = new DataTable(); if (db.HasRows) { for (int i = 0; i < db.FieldCount; i++) { dt.Columns.Add(db.GetName(i), typeof(string)); } while (db.Read()) { DataRow row = dt.NewRow(); object[] rowArray = new object[db.FieldCount]; for (int i = 0; i < db.FieldCount; i++) { rowArray[i] = db.GetData(i); row = dt.NewRow(); row.ItemArray = rowArray; } dt.Rows.Add(row); } } dataGrid_table.ItemsSource = dt.DefaultView; //조건에 맞지 않으면 메세지창 표시 if (dataGrid_table.Items.Count == 1) { MessageBox.Show("조건문에 일치하는 결과값이 존재하지 않습니다"); } Count(); }