// 실행 버튼 누르면 발생 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(); }
//쿼리 명령어 입력 private void InsertQuery() { db.Open(); string query = txt_Query.Text; try { db.Query(query); } catch (Exception e) { MessageBox.Show(query + "\n\n" + e.Message, "SQL Error"); dataGrid_table.ItemsSource = ""; dataGrid_table.Items.Refresh(); } InitializeTable(); db.Close(); }