private void freshData(String tableName, String sql) { toolStripStatusLabel1.Text = sql; MySQLData data = MySQL.GetData(DB_NAME, tableName, sql); if (data.E.Message.Length > 0) { toolStripStatusLabel1.Text = data.E.Message; return; } dataGridView1.ColumnCount = data.Columns.Count; for (int i = 0; i < data.Columns.Count; i++) { dataGridView1.Columns[i].Name = (String)data.Columns[i]; } dataGridView1.Rows.Clear(); foreach (Dictionary <String, String> dict in data.Datas) { ArrayList itemList = new ArrayList(); foreach (String title in data.Columns) { itemList.Add(dict[title]); } dataGridView1.Rows.Add(itemList.ToArray()); } foreach (DataGridViewRow row in dataGridView1.Rows) { row.HeaderCell.Value = (row.Index + 1).ToString(); } /* * DataGridViewButtonColumn buttonColumn = new DataGridViewButtonColumn(); * buttonColumn.Width = 200; * buttonColumn.HeaderText = "按o鈕s"; * buttonColumn.Name = "Status Request"; * buttonColumn.Text = "Request Status"; * buttonColumn.UseColumnTextForButtonValue = true; * dataGridView1.Columns.Add(buttonColumn); * // Add a CellClick handler to handle clicks in the button column. * //dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick); */ }
static public MySQLData GetData(String dbName, String tableName, String SQL) { //{ "debug":1, "mode":"1", "sql":"SELECT * FROM devagingtestreport", "table":"devagingtestreport"} MySQLData result = new MySQLData(); IDictionary json = new Dictionary <string, Object>(); json.Add("mode", "1"); json.Add("dbname", dbName); json.Add("table", tableName); json.Add("sql", SQL); string json_data = JsonConvert.SerializeObject(json);//存放序列後的文字 String context = push(json_data); Debug.WriteLine(context); JObject jObject = null; String records = null; JArray columns = null; JArray datas = null; try { jObject = JObject.Parse(context); records = (String)jObject.GetValue("records"); columns = (JArray)jObject.GetValue("columns"); datas = (JArray)jObject.GetValue("data"); } catch (Newtonsoft.Json.JsonReaderException e) { result.E = new Exception("Error:SQL Cmd"); return(result); } ArrayList colAry = new ArrayList(); foreach (String item in columns) { int num = 0; if (colAry.Contains(item)) { num = 0; while (true) { num++; if (colAry.Contains(item + num) == false) { break; } } } if (num == 0) { colAry.Add(item); } else { colAry.Add(item + num); } } ArrayList dataAry = new ArrayList(); foreach (JArray row in datas) { Dictionary <String, String> dict = new Dictionary <String, String>(); dataAry.Add(dict); for (int i = 0; i < colAry.Count; i++) { String key = (String)colAry[i]; String value = (String)row[i]; int num = 0; if (dict.Keys.Contains(key)) { num = 0; while (true) { num++; if (dict.Keys.Contains(key + num) == false) { break; } } } if (num == 0) { dict.Add(key, value); } else { dict.Add(key + num, value); } } } result.E = new Exception(""); result.Columns = colAry; result.Datas = dataAry; return(result); }