文件夹有多个txt文档,每天按日期更新一个新的txt文档,已实现将7月4号以前的所有txt文档存入数据库,目前需求每5分钟循环一次文件夹读取新的txt文档将该文档目前所有的数据存入数据库将最后一行的主键(id和时间)记录,再过5分钟再循环一次文件夹根据txt文档名称找到上个txt文档根据主键找出新出现的数据并存入数据库,保存最后一行的主键,若出现新的txt文档按上面方法循环。(选中的两个日期一样,代表两个是不同机器生产,可能有多个机器)
选中的两个为主键
实现存数据库的代码如下:
try
{
string[] SADFEC = Directory.GetFiles(@"\saeca.sae.com.hk\SAET-FS\MEMs\CSSPData\FCB\Dippers\Dippers5\");
foreach (string file in SADFEC)
{
DataTable dt = new DataTable();
dt.Columns.Add("C1", Type.GetType("System.String"));
dt.Columns.Add("machine_ID", Type.GetType("System.String"));
dt.Columns.Add("product_time", Type.GetType("System.String"));
dt.Columns.Add("time", Type.GetType("System.String"));
dt.Columns.Add("Panel_ID", Type.GetType("System.String"));
dt.Columns.Add("C6", Type.GetType("System.String"));
dt.Columns.Add("C7", Type.GetType("System.String"));
dt.Columns.Add("incoming_Qty", Type.GetType("System.String"));
dt.Columns.Add("OPT_Defect", Type.GetType("System.String"));
dt.Columns.Add("Dipping_Defect", Type.GetType("System.String"));
dt.Columns.Add("All_time", Type.GetType("System.String"));
StreamReader reader = new StreamReader(file);
string panelstr = string.Empty;
while ((panelstr = reader.ReadLine()) != null)
{
string[] strary = panelstr.Split(';');
String erroqty = Convert.ToString(strary[0]);
if (erroqty != "0")
{
DataRow row = dt.NewRow();
string strdatetime = strary[2].Substring(6, 4) + "-" + strary[2].Substring(3, 2) + "-" + strary[2].Substring(0, 2);
string strdatetime2 = strary[4].Substring(0, 10);
row["C1"] = strary[0].ToString();
row["machine_ID"] = strary[1].ToString();
row["product_time"] = strdatetime.ToString();
row["time"] = strary[3].ToString();
row["Panel_ID"] = strdatetime2.ToString();
row["C6"] = strary[5].ToString();
row["C7"] = strary[6].ToString();
row["incoming_Qty"] = strary[7].ToString();
row["OPT_Defect"] = strary[8].ToString();
row["Dipping_Defect"] = strary[9].ToString();
row["All_time"] = strdatetime.ToString() + " " + strary[3].ToString();
dt.Rows.Add(row);
}
}
reader.Close();
dt.TableName = "PANEL.dbo.Dipping_D";
string rs = SqlHelper.SqlBulkCopyInsert(dt, "PANEL.dbo.Dipping_D");//引用方法
if (rs == "OK")
{
MessageBox.Show("input succeed!");
}
else
{
MessageBox.Show("can't input! ");
}
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
请教大神如何添加代码