对于初学者,我有这样的数据:
2009-12-21 17:00:15   1 表面固定式应变传感器      1535.738  1535.655    87.505
2009-12-21 17:00:15   1 表面固定式应变传感器      1535.738  1535.655    87.505
2009-12-21 17:00:15   1 表面固定式应变传感器      1535.738  1535.655    87.505
2009-12-21 17:00:16   1 表面固定式应变传感器      1535.738  1535.655    87.505
2009-12-21 17:00:16   1 表面固定式应变传感器      1535.738  1535.655    87.505
2009-12-21 17:00:16   1 表面固定式应变传感器      1535.738  1535.655    87.505
2009-12-21 17:00:16   1 表面固定式应变传感器      1535.739  1535.655    88.553
2009-12-21 17:00:17   1 表面固定式应变传感器      1535.738  1535.655    87.505
2009-12-21 17:00:17   1 表面固定式应变传感器      1535.738  1535.655    87.505
2009-12-21 17:00:17   1 表面固定式应变传感器      1535.738  1535.655    87.505
数据是一个TXT文件,想远程把它上传到服务器并且导入到数据库中,而且只采集一个时间,也就是以时间区分,在15秒的3个记录中取一个,16秒的4个中取一个,以此类推。麻烦大家解决的地方就是
1、远程上传并且导入;
2、中间分隔符是空格,有3个空格分隔的或者4个的,不规则的导入问题;
3、按秒读取,剔除重复时间记录;

解决方案 »

  1.   

    最简单的方法:
    1,使用FileUpload控件上传到服务器上,上传完毕后,使用开始读取文件内容,到某个集合中,比如List<xxx>;
    2,把使用replace()把空格统一换成某个特殊的符号,比如:xx.Replace(" ","csdn");
    3,循环集合List<xxx>;执行insert,插入到数据库中。中间可以保存已插入的数据,如果发现已经处理的同样记录,就跳过。
      

  2.   

    1、远程上传并且导入; 
    通过文件流每次读取一行上传到服务器,然后通过一个规则导入数据库
    2、中间分隔符是空格,有3个空格分隔的或者4个的,不规则的导入问题; 
    不规则导入,好像不行吧,必须要有一个规则
    3、按秒读取,剔除重复时间记录;
    这个简单,等你完成前面2条以后,用SQL语句过滤掉就行了
      

  3.   

    先按换行符分成每一行到一个数组。
    然后在每一个数组中按空格分隔得到另一个数组
    replace(" ",";") 好像可以将多个空格替换的试一下
    把按空格分隔得到的数组插入数据库。
      

  4.   

    大概这样吧 StreamReader sr = new StreamReader("aaa.txt", System.Text.Encoding.GetEncoding("utf-8"));
                try
                {
                     string repeat = null;
                     while (!sr.EndOfStream)
                    {
                        string strd = sr.ReadLine().ToString();
                        strd = strd.replace(" ",";") 
                        string[] resultString = Regex.Split(strd, ";", RegexOptions.IgnoreCase);
                        string resize1 = null;
                        string resize2 = null;
                        string resize3 = null;
                        string resize4 = null;
                        resize1 = resultString[0].ToString();
                        if(repeat != resize1)
                        {
                           repeat = resize1; 
                           resize2 = resultString[1].ToString();
                           resize3 = resultString[2].ToString();
                           resize4 = resultString[2].ToString();
                           sql录入...                    }
                        
                     }
                }
                catch
                {            }