using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient; using System.Data; using TISCOMQTT.model; using TISCOMQTT.components; using System.Windows.Forms; namespace TISCOMQTT.components { internal class conSQL { public static List<List<table1>> llt=new List<List<table1>>(); public static DataSet readTables() { DataSet ds=new DataSet(); llt.Add(Form1.M1); llt.Add(Form1.M2); //llt.Add(Form1.M3); //llt.Add(Form1.M4); //llt.Add(Form1.M5); //llt.Add(Form1.M6); //llt.Add(Form1.M7); //llt.Add(Form1.M8); //llt.Add(Form1.M9); //llt.Add(Form1.M10); //llt.Add(Form1.M11); //llt.Add(Form1.M12); //llt.Add(Form1.M13); try { foreach(List<table1> table in llt) { String sql = ""; String part1SQL = ""; String part2SQL = ""; DataTable dt=new DataTable(); foreach(table1 t in table) { if (table.IndexOf(t) < 5) { sql = sql + "main." + t.name + ","; part1SQL = part1SQL + t.name + ","; } else { //sql += "sub." + t.name + ","; part2SQL = part2SQL + "sum(case PROD_ITEM_CODE when " + "'" + t.name + "'" + " then cast(PROD_ITEM_VALUE as decimal(18,2)) else '0' end) as " + t.name + ","; } } String executeThreeSQL = "select main.MAIN_ID," + sql + "sub.PROD_ITEM_CODE,sub.PROD_ITEM_VALUE "+ " from TB_QUALITY_MAIN main,TB_QUALITY_SUB sub where main.MAIN_ID=sub.MAIN_ID"; String executeOneSQL = "select " + part1SQL; String executeTwoSQL = part2SQL; String executeSQL = executeOneSQL + executeTwoSQL.Substring(0, executeTwoSQL.Count() - 1) + " from ( " + executeThreeSQL + " ) test group by " + part1SQL.Substring(0, part1SQL.Count() - 1) + ";"; LogHelper.writeLog(executeSQL); String con = "Data Source=DESKTOP-L321ML9;Initial Catalog=LZ4RX;User ID=sa;Password=19910909"; using (SqlConnection conn = new SqlConnection(con)) { conn.Open(); SqlDataAdapter adp = new SqlDataAdapter(executeSQL, conn); adp.Fill(dt); conn.Close(); ds.Tables.Add(dt); } } return ds; //String xmlPath = @"D:/Code/PLC/Agreement/TISCOMQTT/data/table1.xml"; //IEnumerable<table1> it = ReadXML.read_xml(xmlPath); //String _partSQL = ""; //foreach(var t in it) //{ // _partSQL = _partSQL + t.name + ","; //} //int len = _partSQL.Length; //String partSQL = _partSQL.Substring(0, len - 1); //String con = "Data Source=DESKTOP-L321ML9;Initial Catalog=LGLZ;User ID=sa;Password=19910909"; } catch(Exception ex) { MessageBox.Show("查询数据库错误:"+ex.Message,"系统提示",MessageBoxButtons.OK,MessageBoxIcon.Error); return null; } } } }
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/244772.html