コード例 #1
0
ファイル: Form1.cs プロジェクト: fredatgithub/MySQLLite
        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);
             */
        }
コード例 #2
0
        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);
        }