Ejemplo n.º 1
0
        private void button_Send_Click(object sender, EventArgs e)
        {
            SQLiteDBHelper           _helper = new SQLiteDBHelper(Config.CfgInfo.DBPath_Well);
            ConcurrentQueue <String> frags   = new ConcurrentQueue <string>();

            String[]  tempFrags;
            String    data;
            String    tabid;
            WitsTable wt;
            String    frag;

            data      = textBox_SendData.Text.Trim();
            tempFrags = data.Split(fragSep, StringSplitOptions.RemoveEmptyEntries);
            foreach (String str in tempFrags)
            {
                frags.Enqueue(str);
            }
            while (frags.Count > 0)
            {
                frags.TryDequeue(out frag);
                toWitsTable(frag, out tabid);
                if (tabQueue.Count > 0)
                {
                    tabQueue.TryDequeue(out wt);
                    idQueue.TryDequeue(out tabid);
                    _helper.WitsTabAnalysis(tabid, wt);
                    _helper.InsertWitsData("2", tabid, wt);
                }
            }
        }
Ejemplo n.º 2
0
 void saveData()
 {
     String[] colNames = { "WID", "SKNO", "RID", "SQID", "DATE", "TIME", "ACTC", "DBTM", "DBTV", "DMEA", "DVER", "BPOS", "ROPA", "HKLA", "HKLX", "WOBA", "WOBX", "TQA", "TQX", "RPMA", "SPPA", "CHKP", "SPM1", "SPM2", "SPM3", "TVA", "TVCA", "MFOP", "MFOA", "MFIA", "MDOA", "MDIA", "MTOA", "MTIA", "MCOA", "MCIA", "STKC", "LSTK", "DRTM", "GASA", "SPR1", "SPR2", "SPR3", "SPR4", "SPR5" };
     foreach (String col in colNames)
     {
         DataColumn dc = new DataColumn(col, System.Type.GetType("System.String"));
         wt.Columns.Add(dc);
     }
     realhelper.InsertWitsData("Shenkai", "01", wt);
 }
Ejemplo n.º 3
0
        //根据数据源tempTable取出表号,查字典将curveName和Value值对应,然后写入相应数据库表中
        private void ParseTableData(DataTable tempTable, int columnIndex)
        {
            if (tempTable == null || tempTable.Rows.Count <= 0)
            {
                return;
            }
            Dictionary <string, DataTable> curveNameDictionary = new Dictionary <string, DataTable>();
            DataTable dataTable = new DataTable();
            WitsTable witsTable = new WitsTable();
            //取出TableNo
            List <string> TableNolist = new List <string>();

            foreach (DataRow dr in tempTable.Rows)
            {
                string value = dr[columnIndex].ToString();
                if (!TableNolist.Contains(value))
                {
                    TableNolist.Add(value);
                }
            }
            //获取WitsTable用于保存解析后的数据,作为发送给数据库的数据源
            foreach (string toolName in m_curveNameDictionary.Keys)
            {
                if (m_curveNameDictionary.TryGetValue(toolName, out curveNameDictionary))
                {
                    foreach (string tableNo in curveNameDictionary.Keys)
                    {
                        //本次数据,含此表号,继续查询
                        if (TableNolist.Contains(tableNo))
                        {
                            if (curveNameDictionary.TryGetValue(tableNo, out dataTable))
                            {
                                //根据TableNolist中TableNo,取出相应行的"ItemIndex"和"Value"
                                foreach (DataRow drTemp in tempTable.Rows)
                                {
                                    //该行第一列值与TableNo一致
                                    if (tableNo == drTemp[columnIndex].ToString())
                                    {
                                        //给dataTable赋值,将值与curveName对应
                                        foreach (DataRow dr in dataTable.Rows)
                                        {
                                            //通过tempTable的index和dataTable的ItemIndex匹配,给dataTable赋值
                                            if (drTemp["ItemIndex"].ToString() == dr["ItemIndex"].ToString())
                                            {
                                                dr["Value"] = drTemp[columnIndex + 2];
                                            }
                                        }
                                    }
                                }
                                foreach (String strKey in m_witsTableDictionary[toolName].Keys)
                                {
                                    if (strKey == tableNo)
                                    {
                                        if (m_witsTableDictionary[toolName].TryGetValue(tableNo, out witsTable))
                                        {
                                            DataRow witsRow = witsTable.NewRow();
                                            foreach (DataRow dr in dataTable.Rows)
                                            {
                                                //两个curveName匹配,给witsTable赋值
                                                if (witsTable.Columns.Contains(dr["curveName"].ToString()))
                                                {
                                                    witsRow[dr["curveName"].ToString()] = dr["Value"];
                                                }
                                            }
                                            witsTable.Rows.Add(witsRow);
                                            Stopwatch sw = new Stopwatch();
                                            sw.Start();
                                            m_dBHelper.InsertWitsData(toolName, tableNo, witsTable);
                                            sw.Stop();
                                            long time1 = sw.ElapsedMilliseconds;
                                            witsTable.Clear();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }