zoukankan      html  css  js  c++  java
  • 从数据库中读取出数据,然后用XML输出

      1        private static void WriteXml(string strFileName,string code, DateTime from,DateTime to)
      2        {
      3                if(from>to)
      4                {
      5                    return;
      6                }

      7            //将locationid读到数组中
      8            string select="";
      9            select="select LocationID from Master_GoodsByLocation where GoodsCode='"+code+"'order by LocationID";
     10            OleDbDataAdapter m_dal=new OleDbDataAdapter(select,m_dc);
     11            DataSet m_dsl=new DataSet();
     12            m_dal.Fill(m_dsl,"Master_GoodsByLocation");
     13            DataTable tl=m_dsl.Tables["Master_GoodsByLocation"];
     14            string[] LocationID1=new string[tl.Rows.Count];
     15            int i=0;
     16            foreach(DataRow rl in tl.Rows)
     17            {
     18                LocationID1[i]=Convert.ToString(rl[0]);
     19                i++;
     20            }

     21            m_dsl.Reset();
     22                System.Xml.XmlTextWriter w=new XmlTextWriter(strFileName, System.Text.Encoding.UTF8);
     23                w.Formatting=Formatting.Indented;
     24
     25                w.WriteStartDocument(true);
     26                //start rood element
     27
     28                w.WriteStartElement("Data");
     29                w.WriteAttributeString("Type""CheckData");
     30                w.WriteAttributeString("GoodsCode",code);
     31                w.WriteAttributeString("StartDate", from.ToString("yyyy-MM-dd"));
     32                w.WriteAttributeString("EndDate", to.ToString("yyyy-MM-dd"));
     33
     34                //start location
     35                foreach(string location in LocationID1)
     36                {
     37                    // node "Location"
     38                    w.WriteStartElement("Location");
     39                    w.WriteAttributeString("ID", location);
     40
     41                    //node "ForecastDemand"
     42                    w.WriteStartElement("ForecastDemand");
     43                    OleDbCommand oc=new OleDbCommand("select Date,ForecastDemand from Temp_ForecastDemand where GoodsCode='"+code+"'and LocationID='"+location+"'and Date<=#"+to+"#and Date>=#"+from+"# order by Date",m_dc);
     44                    OleDbDataReader reader=oc.ExecuteReader();
     45                    while(reader.Read())
     46                    {
     47                        w.WriteStartElement("Record");
     48                        w.WriteAttributeString("Date",Convert.ToDateTime(reader["Date"]).ToShortDateString());
     49                        w.WriteAttributeString("Value",reader["ForecastDemand"].ToString());
     50                        w.WriteWhitespace(" ");
     51                        w.WriteEndElement();
     52                    }

     53                    reader.Close();
     54                    w.WriteWhitespace(" ");
     55                    w.WriteEndElement();
     56
     57                    //node "RealSale"
     58                    w.WriteStartElement("RealSale");
     59                    oc=new OleDbCommand("select Date,RealSale from Temp_RealSale where GoodsCode='"+code+"'and LocationID='"+location+"'and Date<=#"+to+"#and Date>=#"+from+"#order by Date",m_dc);
     60                    reader=oc.ExecuteReader();
     61                    while(reader.Read())
     62                    {
     63                        w.WriteStartElement("Record");
     64                        w.WriteAttributeString("Date",Convert.ToDateTime(reader["Date"]).ToShortDateString());
     65                        w.WriteAttributeString("Value",reader["RealSale"].ToString());
     66                        w.WriteWhitespace(" ");
     67                        w.WriteEndElement();
     68                    }

     69                    reader.Close();
     70                    w.WriteWhitespace(" ");
     71                    w.WriteEndElement();
     72
     73                    //node "Abnormity"
     74                    w.WriteStartElement("Abnormity");
     75                    oc=new OleDbCommand("select Date,Abnormity from Temp_Abnormity where GoodsCode='"+code+"'and LocationID='"+location+"'and Date<=#"+to+"#and Date>=#"+from+"#order by Date",m_dc);
     76                    reader=oc.ExecuteReader();
     77                    while(reader.Read())
     78                    {
     79                        w.WriteStartElement("Record");
     80                        w.WriteAttributeString("Date",Convert.ToDateTime(reader["Date"]).ToShortDateString());
     81                        w.WriteAttributeString("Value",reader["Abnormity"].ToString());
     82                        w.WriteWhitespace(" ");
     83                        w.WriteEndElement();
     84                    }

     85                    reader.Close();
     86                    w.WriteWhitespace(" ");
     87                    w.WriteEndElement();
     88
     89                    //node "StatByMonth"
     90                    w.WriteStartElement("StatByMonth");
     91                    oc=new OleDbCommand("select StartDate,RealStock,StockoutTimes,SafetyStock,SafetyStockTime from Temp_StatByMonth where GoodsCode='"+code+"'and LocationID='"+location+"'and StartDate<=#"+to+"#and StartDate>#"+from.AddMonths(-1)+"#order by StartDate",m_dc);
     92                    reader=oc.ExecuteReader();
     93                    while(reader.Read())
     94                    {
     95                        w.WriteStartElement("Record");
     96                        w.WriteAttributeString("Date",Convert.ToDateTime(reader["StartDate"]).ToShortDateString());
     97                        w.WriteAttributeString("RealStock",reader["RealStock"].ToString());
     98                        w.WriteAttributeString("StockoutTimes",reader["StockoutTimes"].ToString());
     99                        w.WriteAttributeString("SafetyStock",reader["SafetyStock"].ToString());
    100                        w.WriteAttributeString("SafetyStockTime",reader["SafetyStockTime"].ToString());
    101                        w.WriteWhitespace(" ");
    102                        w.WriteEndElement();
    103                    }

    104                    reader.Close();
    105                    w.WriteWhitespace(" ");
    106                    w.WriteEndElement();
    107
    108                    //end location
    109                    w.WriteWhitespace(" ");
    110                    w.WriteEndElement();
    111                }

    112                //end root element
    113                w.WriteWhitespace("\r\n");
    114                w.WriteEndElement();
    115
    116                //w.WriteEndElement();
    117                w.Flush();
    118                w.Close();
    119                //return true;
    120        }
  • 相关阅读:
    面向对象
    方法
    前端学习笔记 --- HTML
    算法笔记 --- 记忆搜索算法 --- 动态规划算法
    算法笔记 --- 哈希函数分流的概念 --- 一致性哈希算法
    算法笔记 --- 排列组合 --- 括号序列问题
    算法笔记 --- 排列组合
    算法笔记 --- 布隆过滤器
    算法笔记 --- 位运算
    数据结构 --- 堆
  • 原文地址:https://www.cnblogs.com/yangyang8848/p/377387.html
Copyright © 2011-2022 走看看