Esempio n. 1
0
        public JsonResult Practice_example(long pqid)
        {
            var dbq  = db.paper_ques.Find(pqid);
            var back = dbq.question.qbase_chapter.background;

            DataSet[] res = null;
            if (back.db == "Kingbase")
            {
                var kingbaseconn = new KingbaseConn();
                res = kingbaseconn.ShowBackGround(back.name);
                kingbaseconn.Dispose();
            }
            else if (back.db == "Mysql")
            {
                var mysqlconn = new MysqlConn();
                res = mysqlconn.ShowBackGround(back.name);
                mysqlconn.Dispose();
            }
            else if (back.db == "MSSQL")
            {
                var mssqlconn = new MSSQLConn();
                res = mssqlconn.ShowBackGround(back.name);
                mssqlconn.Dispose();
            }
            else
            {
                res = new DataSet[0];
            }
            int count = res.Count();
            var tname = new List <string>();
            var datas = new List <object[]>();

            string[][] colnames = new string[count][];
            for (int i = 0; i < count; i++)
            {
                var ds       = res[i];
                var colcount = ds.Tables[0].Columns.Count;
                tname.Add(ds.DataSetName);
                colnames[i] = new string[colcount];
                int j = 0;
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    colnames[i][j] = new string(col.ColumnName.ToCharArray());
                    //colnames[i][j] += $"({col.GetType().ToString()})";
                    j++;
                }
                var data = ds.Tables[0].Rows[0].ItemArray;
                datas.Add(data);
            }
            var json = new {
                count,
                tname,
                datas,
                colnames
            };

            return(Json(json, JsonRequestBehavior.AllowGet));
        }